我有 U-SQL 脚本,它使用文件模式在 Azure Data Lake 中查找文件并从中提取一些数据:
DECLARE @input_file string = @"\data\{*}\{*}\{*}.avro";
@data = EXTRACT
Column1 string,
Column2 double
FROM @input_file
USING new MyExtractors.AvroExtractor();
文件模式是:
data/{Namespace}-{EventHub}-{PartitionId}/{Year}-{Month}-{Day}/{Hour}-{Minute}-{Second}
问题:自定义提取器执行速度非常慢。我的数据湖中有很多文件,处理需要 15 小时,每次运行成本为 600 美元。太慢而且太贵。
我只需要从不超过 90 天的文件中提取新数据。如何使用文件模式、文件修改日期或任何其他技术过滤掉旧文件?
最佳答案
您可以利用 Azure 数据工厂中的 GetMetadata 事件来检索文件的 LastModifiedTime。
引用文档: Get metadata activity in Azure Data Factory
还有一篇关于增量复制的相关文章:
Azure data factory | incremental data load from SFTP to Blob
关于azure - U-SQL Azure Data Lake Analytics 按日期搜索文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51522697/