ADF:将包含对象数组的JSON文件拆分为单个JSON文件,每个JSON文件中包含一个元素
我正在使用Azure Data Factory并尝试将JSON文件(JSON对象数组)转换为单独的JSON文件,每个文件包含一个元素,例如输入:ADF:将包含对象数组的JSON文件拆分为单个JSON文件,每个JSON文件中包含一个元素,json,azure,azure-data-factory,azure-data-factory-2,azure-data-flow,Json,Azure,Azure Data Factory,Azure Data Factory 2,Azure Data Flow,我正在使用Azure Data Factory并尝试将JSON文件(JSON对象数组)转换为单独的JSON文件,每个文件包含一个元素,例如输入: [ {"Animal":"Cat","Colour":"Red","Age":12,"Visits":[{"Reason":"Injections","Date":"2020-03-15"},{"Reason":"Check-up","Date":"2020-01-02"}]}, {"Animal":"Dog","Colour":"Blue","Age
[
{"Animal":"Cat","Colour":"Red","Age":12,"Visits":[{"Reason":"Injections","Date":"2020-03-15"},{"Reason":"Check-up","Date":"2020-01-02"}]},
{"Animal":"Dog","Colour":"Blue","Age":1,"Visits":[{"Reason":"Check-up","Date":"2020-02-08"}]},
{"Animal":"Guinea Pig","Colour":"Green","Age":5,"Visits":[{"Reason":"Injections","Date":"2019-12-01"},{"Reason":"Check-up","Date":"2020-02-26"}]}
]
然而,我已经尝试过将这个数组分割成包含JSON数组的每个元素的单个文件,但无法解决这个问题。理想情况下,我还希望动态命名每个文件,例如Cat.json、Dog.json和“guinapig.json”
使用Azure Data Factory(版本2)时,数据流是正确的工具吗?数据流应该可以为您完成这项工作。上面的JSON代码片段将生成3行。这些行中的每一行都可以发送到单个接收器。将接收器设置为数据集中没有文件名的JSON接收器。在接收器转换中,使用“列中的数据”的“文件名选项”。在使用以下表达式设置名为“filename”的新列之前添加派生列: Animal+'.json' 将列名“filename”用作接收器列中的数据 您将为每一行获得一个单独的文件
事实上,问题不在于数据流是否是正确的工具。根据我的经验,数据工厂无法达到您的目的。谢谢,我显然是adf的新手,我认为数据流可以做到这一点。U-SQL能否通过第1代数据湖实现这一点?我想我会使用逻辑应用程序或BizTalk进行拆分。谢谢,太好了。它正在工作,我想我自己造成的问题是使用了包含嵌套数组的模式,即我的实际json有一个名为Random的嵌套数组,而该模式无法处理它。现在,我在数据流中的模式只包含固定的命名标记,它正在工作。