![](/img/trans.png)
[英]Azure Data Factory: trivial SQL query in Data Flow returns nothing
[英]Azure data factory data flow json to SQL
我有一个包含分层数据的源 JSON 文件,我需要将其放入两个 SQL 表(关系)中。 JSON 如下
{
"orders":[
{
"orderid":"30933",
"ordername":"abc",
"items":[
{
"itemid":1,
"itemstatus":"Failed"
},
{
"itemid":2,
"itemstatus":"Failed"
}
]
},
{
"orderid":"308320",
"ordername":"xyz",
"items":[
{
"itemid":5,
"itemstatus":"Succeeded"
}
]
}
]
}
我的 SQL 持有两个表 Order 和 OrderItem 与 OrderID 主键和外键。
现在我有一个 Azure 数据工厂数据流,其来源如上 JSON,我需要将所有数据关系停放在各个表中。
所以在这里我需要 OrderId(30933,308320) 和 OrderName(abc,xyz) 将 go 到 Order 表中,并将相应的项目数据 go 到 OrderItem 表中(从 Order 表中引用 OrderId)。 在这种情况下,Order 表有 2 个,OrderItem 表有 3 个条目。
我们无法在一个副本中实现这一点。
我们可以在一个管道中使用两个副本活动,我测试过并且成功了。 你可以按照我下面的步骤:
Orders
(orderid 和 ordername)复制到表Orders
中。items
(itemid 和 itemstatus)中的数据复制到表OrderItems
中。笔记:
复制活动 1 和 2 使用相同的 json 文件作为源文件。 不同之处在于映射设置。
Copy active 1 sink is Azure SQL database table Orders
, Copy active 2 sink is Azure SQL database table OrderItems
.
为了让大家看清楚,我做了两张GIF图。
运行管道:
检查表中的数据:
限制是我们只能获取items
的第一个元素,我们不能同时选择集合引用。
更新:
恭喜您以另一种方式实现了它:使用数据流展平/转置数据,然后将其维护到关系 SQL 表中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.