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

Azure Data Flows:提取XML深层嵌套ShipmentID至Shipments表

Azure Data Flows提取嵌套ShipmentID并写入SQL表的解决方案

步骤1:筛选目标ShipmentID节点

既然已经完成了compartments和references的扁平化,直接添加一个Filter转换,设置过滤条件为:

referenceType == 'ShipmentID'

这一步会把所有referenceType匹配的节点筛选出来,对应的referenceValue就是你要的ShipmentID。

步骤2:关联compartment主数据

如果需要把ShipmentID和对应的compartment信息绑定(毕竟要写入ShipmentCompartments关联表),添加Join转换:

  • 左分支选你之前扁平化后的完整compartment数据流(未筛选references的那一支)
  • 右分支选刚才筛选出ShipmentID的数据流
  • 关联键用compartment的唯一标识字段(比如你的XML里的compartmentId或类似唯一键)
    这样就能把每个compartment对应的ShipmentID关联到一起。

步骤3:拆分数据流写入两张目标表

添加Split转换,把数据流拆成两支分别处理:

  1. 写入Shipments表:

    • 只保留ShipmentID(即referenceValue)以及Shipments表需要的其他核心字段(如果XML里有 shipment级别的属性)
    • 用Aggregate转换按ShipmentID分组,取唯一值(避免同一个ShipmentID因多compartment重复写入)
    • 连接到Azure SQL的Shipments Sink,设置写入模式(比如insert或upsert),并指定主键为ShipmentID
  2. 写入ShipmentCompartments表:

    • 保留compartment的所有字段,加上关联后的ShipmentID
    • 连接到Azure SQL的ShipmentCompartments Sink,设置复合主键(比如compartmentId + ShipmentID),选择合适的写入模式

额外注意点

  • 确保XML扁平化时没有丢失compartment的唯一标识,否则Join步骤无法正确关联
  • 如果Shipments表需要的字段不在compartment层级,可能需要回到数据源分支,从XML的更高层级提取对应字段后再关联

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:27:04