为何在ADF中指定输出文件名后,ADLS仍生成part-前缀格式文件?
问题原因
Azure Data Factory的Data Flow基于Spark分布式引擎运行,这种part-xxxx格式的文件名是Spark分布式计算的默认输出特性:
- Spark会将待处理的数据拆分为多个分区并行处理,每个分区对应一个输出文件,这类文件默认以
part-为前缀命名 - 你在数据集配置里指定的
filename.csv实际上被识别为输出文件夹名,而非最终的单个文件名,ADF会自动在这个文件夹下生成分区输出文件 - 即便数据量很小,只会生成一个分区文件,依然会遵循Spark的分区文件命名规则
解决办法
要生成指定名称的单个输出文件,需在Data Flow的Sink组件中做以下配置:
- 针对CSV格式输出,勾选Single file output选项
- 将Sink的File name option设置为Output to single file,并明确填写目标文件名
filename.csv - 若需要合并零散小文件,可在Sink的Optimize选项中选择Merge,设置合适的合并文件大小阈值
内容的提问来源于stack exchange,提问作者Anubhav Swaroop
相关产品推荐
相关产品推荐

