我想了解spark如何在将数据帧保存为csv文件时确定它创建的csv文件的数量。分区数是否会影响此数字?为什么要创建一些空文件?我有如下代码
dataframe.coalesce(numPartitions).write
.format("com.databricks.spark.csv")
.option("delimiter", "|")
.option("header", "true")
.mode("overwrite")
.save("outputpath")
答案 0 :(得分:2)
以csv
或任何其他格式保存时,存在多个文件,因为数据帧的分区数量过多。如果您有n
个分区,则输出中会保存n
个文件。
分区数是否影响此数字?
是的,分区数等于文件数。 saviong datarfame / rdd每个分区都写成一个文件。
为什么要创建一些空文件?
所有分区可能都不包含数据
希望这有帮助!