首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用数据湖分析复制数据- U-SQL

使用数据湖分析复制数据- U-SQL
EN

Stack Overflow用户
提问于 2018-04-23 00:36:32
回答 2查看 205关注 0票数 0

我有以下问题。我需要从ADLS(Azure数据湖存储)源复制到接收器ADLS,但只复制最新的文件。每小时,到达源的一个.csv文件,这个文件必须被复制到宿数据湖。例如:

event: Hour1 - file_01.csv到达源。任务:复制file_01.csv以接收数据湖。event: Hour2 - file_02.csv到达源。任务:复制file_02.csv以接收数据湖。诸若此类。

有没有办法创建一个基于事件的触发器(新文件到达源代码)?这是我的第一个想法。

另一种方法是创建一个作业,由Azure Data lake analytics运行。在那里我会提取系统的日期和时间(我不知道怎么做)。选择最新的文件,并将该文件复制到接收器数据湖中。如何使用u-sql声明包含日期和时间的变量?如何使用u-sql将数据复制到数据湖中?

摘要:如何在数据湖之间创建增量/更新副本?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-04-24 22:59:33

不幸的是,ADLS目前没有一种方法可以在文件到达时触发事件。话虽如此,我们正在努力提供这种支持,应该很快就会提供。

要执行增量复制,您可以将文件组织到包含时间信息的文件夹中。然后使用Azure Data Factory等工具仅复制当前特定时间范围内的文件。

谢谢,Azure Data Lake的Sachin Sheth项目经理。

票数 1
EN

Stack Overflow用户

发布于 2018-04-24 01:37:03

您可以使用DateTime.Now来获取作业的编译时间。您还可以提取文件的修改时间或创建时间。例如:

代码语言:javascript
运行
复制
@data = 
  EXTRACT 
    vehicle_id int
  , entry_id long
  , event_date DateTime
  , latitude float
  , longitude float
  , speed int
  , direction string
  , trip_id int?
  , modified_date = FILE.MODIFIED()
  , created_date = FILE.CREATED()
  FROM "/Samples/Data/AmbulanceData/vehicle{*}"
  USING Extractors.Csv();

@res =
  SELECT *
  FROM @data
  WHERE created_date <= DateTime.Now.AddDays(-1);

我请商店团队成员回答您关于文件触发器的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49968294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档