Azure Data Factory中JSON高级映射实现方法咨询
Azure Mapping Dataflows 传感器JSON结构转换实现指引
需求说明
- 待处理输入JSON结构:

- 目标输出结构:

具体实现步骤
- 源配置
- 新建源转换,绑定存储JSON文件的对应数据集(支持ADLS Gen2、Blob Storage等常见存储)
- 源设置的JSON配置面板中,根据文件存储形式选择单文档/多文档模式,开启
跨嵌套层级自动投影,避免嵌套字段读取缺失 - 上传样例JSON文件导入初始字段投影,确认系统识别到所有嵌套层级字段
- 嵌套结构展平
- 源转换后新增「展平」转换,展平输入选择根节点下存储传感器单条读数的嵌套数组
- 输出映射中勾选所有需要保留的根字段(设备标识、全局采集时间等)和数组内字段(传感器类型、读数、单位等)
- 若存在多层嵌套数组,串行添加多个展平转换,从最外层到最内层逐层打平,直到所有需要的字段转为扁平列
- 字段业务化加工
- 展平转换后新增「派生列」转换
- 把技术字段名重命名为业务侧通用名称,例如将
dev_id映射为设备编号、ts映射为采集时间、val映射为指标读数 - 做必要的数据清洗和格式转换:将字符串格式的时间戳转为timestamp类型,统一数值字段精度,用条件表达式把传感器类型编码映射为业务可读名称(例如
temp映射为温度、hum映射为湿度)
- 宽表透视(匹配目标输出的列结构)
- 派生列后新增「透视」转换
- 分组字段选择行粒度维度:一般为
设备编号、采集时间这类每个采集点唯一的字段 - 透视键选择加工后的
指标类型字段,聚合规则选择max(指标读数)即可——同个采集点同个指标只有一个读数,聚合不会改变原始值,透视后会自动生成每个指标对应的独立列,和目标宽表结构对齐
- 接收输出配置
- 最后新增「接收」转换,绑定目标存储位置和输出格式
- 在接收映射面板调整列顺序,和期望输出的列顺序保持一致后即可运行调试
常见问题排查
- 展平后数据行数不符合预期:检查选中的展平数组层级是否正确,不要误选内层子数组
- 透视后出现多余空列:提前在派生列中用
trim(lower(指标类型))清洗透视键,避免大小写、前后空格导致的同类型值被识别为不同列- 嵌套字段读取丢失:回到源设置确认开启了跨嵌套层级投影,不要手动删除投影里的嵌套结构
内容的提问来源于stack exchange,提问作者TrondB
相关产品推荐
相关产品推荐

