ADF / Dataflow - 将多个 CSV 转换为 Parquet
ADF / Dataflow - Convert Multiple CSV to Parquet
在 ADLS Gen2 中,TextFiles 文件夹有 3 个 CSV 文件。每个文件中的列名都不同。
我们需要将所有 3 个 CSV 文件转换为 3 个 parquet 文件并将其放入 ParquetFiles 文件夹
我尝试使用复制 Activity 但它失败了,因为列名中有空的 space 并且 parquet 文件不允许它
为了删除 spaces,我使用了数据流:源 -> Select(将 space 替换为列名称中的下划线)和接收器。这适用于单个文件。当我尝试对所有 3 个文件执行此操作时,它会尝试合并 3 个文件并生成包含不正确数据的单个文件。
如何解决,主要是把所有文件的列名去掉space。这里的其他选项是什么?
管道:ForEach activity(遍历文件夹中的 CSV 文件并将当前迭代项作为参数发送到数据流)-> 数据流 activity,源指向该文件夹(参数化源路径中的文件名)
我创建了 2 个数据集,一个是通配符格式的 csv,另一个是 parquet。我使用 Data Copy Activity 将 parquet 数据集用作接收器,将 csv 数据集用作源。我将复制行为设置为合并文件。
在 ADLS Gen2 中,TextFiles 文件夹有 3 个 CSV 文件。每个文件中的列名都不同。
我们需要将所有 3 个 CSV 文件转换为 3 个 parquet 文件并将其放入 ParquetFiles 文件夹
我尝试使用复制 Activity 但它失败了,因为列名中有空的 space 并且 parquet 文件不允许它
为了删除 spaces,我使用了数据流:源 -> Select(将 space 替换为列名称中的下划线)和接收器。这适用于单个文件。当我尝试对所有 3 个文件执行此操作时,它会尝试合并 3 个文件并生成包含不正确数据的单个文件。
如何解决,主要是把所有文件的列名去掉space。这里的其他选项是什么?
管道:ForEach activity(遍历文件夹中的 CSV 文件并将当前迭代项作为参数发送到数据流)-> 数据流 activity,源指向该文件夹(参数化源路径中的文件名)
我创建了 2 个数据集,一个是通配符格式的 csv,另一个是 parquet。我使用 Data Copy Activity 将 parquet 数据集用作接收器,将 csv 数据集用作源。我将复制行为设置为合并文件。