我spark job
在一个有 2 个工作节点的集群中运行!我正在使用下面的代码(spark java)将计算出的数据帧作为 csv 保存到工作节点。
dataframe.write().option("header","false").mode(SaveMode.Overwrite).csv(outputDirPath);
我试图了解 spark 如何在每个工作节点上写入多个部分文件。
Run1)worker1
有part files
和SUCCESS
; worker2
让_temporarty/task*/part*
每个任务都运行零件文件。
Run2)worker1
有部分文件和_temporary
目录;worker2
拥有multiple part files
谁能帮助我理解为什么会出现这种行为?1)我应该将记录outputDir/_temporary
视为输出文件的一部分part files in outputDir
吗?
2)是否_temporary
应该在作业运行后删除 dir 并将part
文件移动到outputDir
?
3)为什么不能直接在输出目录下创建零件文件?
coalesce(1)
并且repartition(1)
不能是选项,因为 outputDir 文件本身将在附近500GB
Spark 2.0.2. 2.1.3
和 Java 8, no HDFS
凤凰求蛊
慕运维8079593
梵蒂冈之花
相关分类