我在数据工厂中使用 Azure Dataflow。 我有一个 Azure SQL 数据库作为源。以下是示例:
Firstname Lastname Age phone mobile
Don Bosco 56 34578970 134643455
Abraham Lincoln 87 56789065 246643556
以下是数据流:
Source -> Sink (JSON Blob storage)
在接收器中,我得到一个文件,输出如下:
{"Firstname": "Don", "Lastname": Bosco, "Age": 56, "contact": [{"number": "34578970", "type": "phone"}, {"number": "134643455", "type": "mobile"}]}
{"Firstname": "Abraham", "Lastname": Lincoln, "Age": 87, "contact": [{"number": "56789065", "type": "phone"}, {"number": "246643556", "type": "mobile"}]}
相反,我需要得到如下输出:
[
{"Firstname": "Don", "Lastname": Bosco, "Age": 56, "contact": [{"number": "34578970", "type": "phone"}, {"number": "134643455", "type": "mobile"}]},
{"Firstname": "Abraham", "Lastname": Lincoln, "Age": 87, "contact": [{"number": "56789065", "type": "phone"}, {"number": "246643556", "type": "mobile"}]}
]
我知道如何在复制活动中执行此操作,但找不到任何使用数据流执行此操作的方法。我需要在数据流中执行此操作,因为复制数据活动不支持复杂类型,因此不支持 json 中的数组。 请帮忙解决这个问题。
答案 0 :(得分:0)
您必须将其输出为数组而不是结构体。使用没有 group by 的聚合器并使用语法收集所有行(收集函数) - collect(@(FirstName = FirstName, Lastname = LastName.....)).
在这里你会得到一个结构数组。您可以将其写入 JSON 接收器。