首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Data v2:数据湖增量复制活动

Data v2:数据湖增量复制活动
EN

Stack Overflow用户
提问于 2018-01-30 09:28:15
回答 1查看 899关注 0票数 1

在我的Azure数据湖目录ingest中,我有时间戳命名的子目录:

代码语言:javascript
复制
ingest/1510395023/file.tsv
ingest/1510425023/file.tsv
ingest/1510546210/file.tsv
...

Azure Data v2复制活动( directories )中,如何将Data目录筛选为大于指定时间戳的目录?

假设我将将已经复制的时间戳记录到Server中,并且在下一个管道运行时,我只希望基于查找活动复制增量的新目录。

Data文档引用了逻辑函数,但我不知道如何在这个场景中实现它们。

如果在文件名(相对于目录)上可用逻辑比较筛选器,则Alternatively:也会有帮助。

注意事项:我也想载入历史数据,所以只过滤大于或等于now的时间戳是不够的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 02:23:48

我猜你有一个数据湖分析帐户。

使用U活动,您可以将目标文件复制到单个文件,然后可以使用复制活动复制该文件。

您可以通过提取一个文件集并通过它的虚拟列过滤它来实现这一点。

@timestamp字符串设为输入参数,该参数是通过查找活动获得的,是已经处理的最新时间戳:

代码语言:javascript
复制
@delta = 
    SELECT Col1, Col2 
    FROM(
        EXTRACT 
            [Col1] string,
            [Col2] string,
            [Timestamp] string
        FROM "ingest/{Timestamp}/file.tsv"
        USING Extractors.Tsv(skipFirstNRows : 1/* change if the header is not part of the file*/)
    ) AS T
    WHERE long.Parse([Timestamp]) > long.Parse(@timestamp);


OUTPUT @delta
TO "delta/file.tsv"
USING Outputters.Tsv(outputHeader : true);

在那里,您可以将"delta/file.tsv“复制到数据库中。

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

https://stackoverflow.com/questions/48517987

复制
相关文章

相似问题

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