如何在Azure Data Factory数据流中提取列头日期并拆分列及迁移数据
实现方案
整体流程顺序
必须严格遵循以下顺序,确保列处理在数据进入SQL前完成:
- 本地文件上传至Azure Blob存储
- 在ADF Dataflow中读取Blob文件,完成列拆分处理
- 将处理后的数据写入SQL数据库
步骤1:本地文件上传至Blob存储
使用ADF的复制活动配置:
- 源数据集:选择「文件系统」类型,指向本地文件夹中的目标文件
- 目标数据集:选择「Azure Blob存储」类型,指定存储容器和路径
- 配置完成后,该活动会将本地文件同步至Blob存储作为中间数据源
步骤2:Dataflow中完成列拆分处理
2.1 配置源数据集
在Dataflow中添加「源」转换,选择步骤1中使用的Blob存储数据集,确保正确读取文件内容
2.2 生成拆分列
添加「派生列」转换,配置两个新列:
- 毛利率:直接引用原列的值,表达式为:
Gross Margin 10/22/22(替换为实际列名) - 日期:从原列名中提取日期,使用正则表达式函数,表达式为:
说明:regexExtract(nameof(Gross Margin 10/22/22), '(\d{2}/\d{2}/\d{2})', 1)nameof()函数用于获取原列的名称字符串,regexExtract()从字符串中匹配提取日期格式的内容
2.3 清理冗余列
添加「选择」转换,移除原始的Gross Margin 10/22/22列,仅保留新生成的「毛利率」和「日期」列
步骤3:写入SQL数据库
添加「接收器」转换,配置SQL数据库数据集:
- 选择目标SQL数据库和对应的表
- 配置字段映射,确保「毛利率」和「日期」列与SQL表中的字段正确匹配
- 运行数据流动活动,完成数据写入
内容的提问来源于stack exchange,提问作者danchdrezzing
相关产品推荐
相关产品推荐

