You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ADF中使用集合引用交叉应用简单数组实现行拆分?

在Azure Data Factory的Copy Data活动中展开简单数值数组到多行

问题场景

源JSON格式:

{
    "order_id": 1,
    "date": "20170122",
    "product_ids": [123, 124, 125]
}

需要将数据导入SQL表后生成3行记录,每行对应product_ids数组的一个元素,关联原有的order_id和date。

解决方案(Copy Data活动实现)

不需要使用Data Flow,通过以下配置即可实现:

  1. 源端集合引用设置:在Copy Data活动的源配置中,将集合引用设为 $['product_ids']。这个配置会让ADF遍历product_ids数组的每个元素,将每个元素作为一条独立的处理记录。
  2. 字段映射配置:
    • 映射order_id:使用根路径引用 $root['order_id'],获取原JSON根节点的order_id值。
    • 映射date:使用根路径引用 $root['date'],获取原JSON根节点的date值。
    • 映射product_id:直接使用 $ 引用当前遍历到的数组元素值(因为每个元素本身就是数值,没有子字段)。

为什么之前的配置无效

  • 使用[0]:仅指定数组的第一个元素,只能生成一行记录,无法遍历整个数组。
  • 使用[*]:当集合引用已经指定为$['product_ids']后,每条处理记录对应数组的单个元素,此时[*]没有可引用的子数组,因此返回NULL。

内容的提问来源于stack exchange,提问作者A. Stam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:49:55