Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ADF:将包含对象数组的JSON文件拆分为单个JSON文件,每个JSON文件中包含一个元素_Json_Azure_Azure Data Factory_Azure Data Factory 2_Azure Data Flow - Fatal编程技术网

ADF:将包含对象数组的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

我正在使用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":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的嵌套数组,而该模式无法处理它。现在,我在数据流中的模式只包含固定的命名标记,它正在工作。