ADF Data Flow嵌套JSON转换:提取field_par_chart的csv生成表格
ADF Pipeline & Data Flow 实现方案
一、ADF Pipeline 配置
- 新建Pipeline,命名为
PL_Transform_JSON_CSV - (可选但推荐)添加Get Metadata活动:
- 关联存储JSON文件的Data Lake数据集,勾选“Exists”属性,用于前置校验文件是否存在
- 添加Data Flow活动,将其连接到Get Metadata的成功分支:
- 选择后续创建的Data Flow,可配置文件路径参数实现复用
二、Data Flow 核心转换逻辑
1. 源节点(Source)
- 数据集选择存储JSON的Data Lake容器/文件夹,源类型设为JSON
- 在“JSON设置”中:
- 单个JSON文件选“Single document”,多文件选“Array of documents”
- 投影仅保留
field_par_chart字段,剔除无关字段提升处理效率
2. Parse 转换(解析CSV字符串)
- 添加Parse转换连接源节点
- 解析设置:
- 选择解析列:
field_par_chart - 解析类型选DelimitedText,设置对应分隔符(如逗号,需匹配CSV实际格式)
- 若CSV包含表头,勾选“First row as header”;无表头则手动输入列名
- 解析后生成结构化嵌套对象(如
parsed_csv_data)
- 选择解析列:
3. Flatten 转换(展开结构化数据)
- 添加Flatten转换连接Parse节点
- 展开设置:
- 选择要展开的嵌套列:
parsed_csv_data - 勾选“Unroll by”为该列的数组对象(解析后CSV数据默认以数组形式存在)
- 投影中选择所有需要的字段,可按需重命名
- 选择要展开的嵌套列:
4. 数据清洗与结构调整(可选)
- Derived Column转换:完成数据类型转换(如字符串转数字/日期)、计算衍生字段
- Select转换:剔除冗余列,调整字段名匹配目标结构
5. 输出节点(Sink)
根据需求选择输出方式:
方式A:输出为文本文件
- 数据集选择目标Data Lake文件夹,输出类型设为DelimitedText
- 设置分隔符(如逗号),勾选“First row as header”
方式B:导入Azure SQL Database
- 数据集关联目标Azure SQL库及表(若表不存在,可勾选“Auto create table”)
- 写入行为选“Append”(追加)或“Overwrite”(覆盖),按需配置
三、测试与运行
- 在Data Flow中点击「Debug」预览数据,验证转换逻辑正确性
- 返回Pipeline点击「Debug」运行,检查输出结果
- 配置触发规则(手动/定时)实现自动化执行
内容的提问来源于stack exchange,提问作者Regazzi
相关产品推荐
相关产品推荐

