【问题标题】:Why Spark creates multiple csv files while saving a dataframe in csv format?为什么 Spark 在以 csv 格式保存数据帧时会创建多个 csv 文件?
【发布时间】:2018-09-07 13:17:47
【问题描述】:

我想了解 spark 如何确定它在将数据框保存为 csv 文件时创建的 csv 文件的数量。分区数会影响这个数吗?为什么会创建一些空文件?我有如下代码

dataframe.coalesce(numPartitions).write
   .format("com.databricks.spark.csv")
   .option("delimiter", "|")
   .option("header", "true")
   .mode("overwrite")
   .save("outputpath")

【问题讨论】:

标签: scala csv apache-spark apache-spark-sql


【解决方案1】:

当您以csv 或任何其他格式保存时,会有多个文件,这是因为您的数据框的分区数很多。如果您有n 分区数,那么您将获得n 保存在输出中的文件数。

分区数会影响这个数吗?

是的,分区数等于文件数。在保存 datarfame/rdd 时,每个分区都写为一个文件。

为什么会创建一些空文件?

所有分区可能不包含数据

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2012-10-14
    • 2011-02-06
    • 2017-01-24
    • 2019-06-10
    • 2018-02-14
    相关资源
    最近更新 更多