azure数据工厂:如何将一个文件夹中的所有文件合并为一个文件

时间:2019-06-11 19:42:10

标签: json azure azure-data-factory

我需要通过合并分散在Azure Blob存储中包含的几个子文件夹中的多个文件来创建一个大文件,还需要进行转换,每个文件都包含单个元素的JSON数组,因此最终文件将包含JSON元素数组。

最终目的是在Hadoop和MapReduce作业中处理该大文件。

原始文件的布局与此类似:

folder
 - month-01
   - day-01
        - files...

- month-02
    - day-02
        - files...

1 个答案:

答案 0 :(得分:1)

我根据您的描述进行了测试,请按照我的步骤进行操作。

我的模拟数据:

set List {A B} lappend List "C\{D"; # <== Element with unbalanced braces; *LEGAL* in lists! puts $List # ==> A B C\}D puts [join [lmap x $List {format "{%s}" $x}]] # ==> {A} {B} {C}D} 驻留在以下文件夹中:test1.json

enter image description here

date/day1驻留在以下文件夹中:test2.json

enter image description here

date/day2,将文件格式设置设置为Source DataSet,文件路径设置为Array of Objects

enter image description here

root path,将文件格式设置设置为Sink DataSet,文件路径设置为要存储最终数据的文件。

enter image description here

创建Array of Objects并将Copy Activity设置为Copy behavior

enter image description here

执行结果:

enter image description here

我的测试目标仍然是Azure Blob存储,您可以参考此link来了解Hadoop支持Azure Blob存储。