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

如何在Azure Data Factory中连接多表生成含嵌入数组的JSON结构?

在Azure Data Factory中实现学生-课程嵌套JSON结构的数据流配置

核心操作步骤

要生成你需要的嵌套JSON结构,关键是通过聚合转换将每个学生对应的课程信息聚合为数组,再与学生基础字段组合,具体步骤如下:

  1. 完成三张表的关联

    • 先将Students表与StudentClasses表通过StudentId字段做内连接,得到每个学生对应的所有ClassId
    • 再将上述连接结果与Classes表通过ClassId字段做内连接,此时数据流中会包含每个学生的基础信息(StudentId、StudentName)以及对应的课程信息(ClassId、ClassName)
  2. 用聚合转换生成课程数组

    • 添加聚合转换,将分组键设置为学生的唯一标识字段:StudentId、StudentName(确保每个分组对应单个学生)
    • 新增聚合列,命名为classes,使用表达式:
      collect(struct(classID, className))
      
      说明:struct(classID, className)会把单个课程的两个字段封装为一个键值对对象,collect()函数则将当前学生的所有课程对象收集为一个数组
  3. 输出嵌套JSON结构

    • 配置JSON输出数据集,在数据集设置里将根节点名称指定为students
    • 运行数据流后,即可生成包含嵌套课程数组的目标JSON结构

纠正你之前的尝试

你之前用array(classID, className)生成的是仅包含字段值的数组,而需求是带键名的对象数组,因此需要用struct()代替array()构造课程对象,再通过collect()聚合到对应学生下。

内容的提问来源于stack exchange,提问作者JSWilson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:15:03