我有一个 SSIS 任务,它从 Azure Data Lake 读取 JSON 文件,使用脚本任务中的反序列化命令对其进行解析,并将它们的副本创建为本地 SQL Server 中的表。
这进展顺利,但非常缓慢。导入一个目录需要6个小时,而且目录很多。
所以我决定以一种渐进的方式来做这个。
起初,我使用条件拆分来避免将旧记录写入本地 SQL 服务器,但这仍然涉及读取整个文件的时间成本。条件拆分是一个有趣的组件,我观察到它只是无缘无故地跳过了一些记录。不好。
那么,为什么不跳过我之前导入的整个文件呢?但为此,我需要获取我正在处理的文件的最后修改日期。
现在我知道有一些 .Net 方法可以在纯 c# 中执行此操作(使用 .NET SDK 在 Azure Data Lake Storage Gen1 上进行文件系统操作),但由于我使用的是 SSIS 的脚本组件,因此我已经与 Data Lake 建立了有效连接。应该容易得多吧?
但我找不到办法,我很感激这里的任何指导。
干杯