Hah*_*pro 0 hdfs dataframe apache-spark parquet
在我将数据帧写入 hdfs 之前,我coalesce(1)让它只写入一个文件,因此在复制内容时可以轻松手动处理内容,从 hdfs 获取,...
我会像这样编写输出。
outputData.coalesce(1).write.parquet(outputPath)
Run Code Online (Sandbox Code Playgroud)
(输出数据是org.apache.spark.sql.DataFrame)
我想问一下它们是否对性能有任何影响而不是合并
outputData.write.parquet(outputPath)
Run Code Online (Sandbox Code Playgroud)
是的,它会用 1 个工人来写入。
因此,即使您提供 10 个 CPU 核心,它也会使用 1 个工作线程(单个分区)进行写入。
如果您的文件很大(10 GB 或更大),则会出现问题。但如果您的文件较小(100 mb),建议您使用