繁体   English   中英

Azure数据工厂| 从SFTP到Blob的增量数据加载

[英]Azure data factory | incremental data load from SFTP to Blob

我创建了(一次性运行)DF(V2)管道,以将文件(.lta.gz)从SFTP服务器加载到蔚蓝的Blob中以获取历史数据。 做工精美。 每天,SFTP服务器上都会有几个新文件(无法操作或删除)。 所以我想创建一个增量加载管道,该管道每天检查新文件-如果是--->复制新文件。

有人对我有什么秘诀吗?

感谢您使用Data Factory!

要在SFTP服务器上增量加载新生成的文件,可以利用GetMetadata活动来检索LastModifiedDate属性: https ://docs.microsoft.com/zh-cn/azure/data-factory/control-flow-get-metadata- 活动

本质上,您编写的管道包含以下活动:

  • getMetadata(返回给定文件夹下的文件列表)
  • ForEach(遍历每个文件)
  • getMetadata(返回给定文件的lastModifiedTime)
  • IfCondition(将lastModifiedTime与触发WindowStartTime进行比较)
  • 复制(将文件从源复制到目标)

使用Data Factory建立数据集成流程,玩得开心!

自从我在去年5月发布了上一个答案以来,许多人都与我联系,要求管道样本使用getMetadata-ForEach-getMetadata-If-Copy模式实现增量文件复制方案。 这是重要的反馈,认为增量文件复制是我们要进一步优化的常见方案。

今天,我想发布一个更新的答案-我们最近发布了一项新功能,该功能可以通过一种更轻松,更可扩展的方法来实现相同的目标:

现在,您可以在SFTP数据集上设置modifiedDatetimeStart和modifiedDatetimeEnd,以指定时间范围过滤器,以仅提取在此期间创建/修改的文件。 这使您可以使用单个活动来实现增量文件复制: https : //docs.microsoft.com/zh-cn/azure/data-factory/connector-sftp#dataset-properties

已为ADF中的这些基于文件的连接器启用此功能:AWS S3,Azure Blob存储,FTP,SFTP,ADLS Gen1,ADLS Gen2和本地文件系统。 对HDFS的支持即将推出。

此外,为了使编写增量复制管道更加容易,我们现在发布通用管道模式作为解决方案模板。 您可以选择模板之一,填写链接的服务和数据集信息,然后单击“部署”-就是这么简单! https://docs.microsoft.com/zh-cn/azure/data-factory/solution-templates-introduction

您应该能够在图库中找到增量文件复制解决方案: https : //docs.microsoft.com/zh-cn/azure/data-factory/solution-template-copy-new-files-lastmodifieddate

再次感谢您使用ADF以及与ADF进行愉快的编码数据集成!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM