使用SSIS将Azure Data Lake CSV最后修改时间写入Azure SQL表列
SSIS同步ADLS文件最后修改时间到Azure SQL表的实现方案
完全可以实现,无需重构现有SSIS主逻辑,仅需少量调整即可完成需求,操作步骤如下:
- 第一步:定义存储文件修改时间的SSIS变量
在SSIS包中新增一个包级变量,命名为User::FileLastModifiedTime,数据类型设置为DateTime,用于存储后续读取到的ADLS CSV文件最后修改时间。 - 第二步:读取ADLS对应CSV文件的最后修改时间属性
根据你使用的ADLS版本选择对应组件配置:- 若使用ADLS Gen2:添加
Azure FS 任务,配置ADLS连接信息,指定目标CSV文件的存储路径,设置任务输出项为文件最后修改时间,关联到上一步创建的User::FileLastModifiedTime变量。 - 若使用ADLS Gen1:添加
Azure Data Lake 任务,操作类型选择「获取文件属性」,同样将返回的文件最后修改时间赋值给对应变量。
如果你是批量遍历ADLS多个CSV文件加载的场景,只需把上述获取文件属性的步骤放到Foreach 循环容器内,每次循环时更新变量值即可。
- 若使用ADLS Gen2:添加
- 第三步:数据流中新增派生列传递修改时间
在现有数据流的源组件和Azure SQL目标组件之间,添加「派生列」转换,新增一列,列名和数据类型匹配目标表的DATEMODIFIED字段,列值设置为@[User::FileLastModifiedTime]。 - 第四步:调整目标表字段映射
打开Azure SQL目标组件的映射配置,把上一步派生的DATEMODIFIED列和目标表的对应字段完成映射,重新发布SSIS包运行即可。
内容的提问来源于stack exchange,提问作者Oki Kuswanda
相关产品推荐
相关产品推荐

