【问题标题】:How to write same number of files as Spark partitions如何写入与 Spark 分区相同数量的文件
【发布时间】:2020-12-03 20:04:59
【问题描述】:

我正在尝试从 Spark 写入 S3 上的单个文件。做这样的事情

dataframe.repartition(1)
      .write
      .option("header", "true")
      .option("timestampFormat", "yyyy/MM/dd HH:mm:ss ZZ")
      .option("maxRecordsPerFile", batchSize)
      .option("delimiter", delimiter)
      .option("quote", quote)
      .format(format)
      .mode(SaveMode.Append)
      .save(tempDir)

现在我在写入之前强制分区为 1(我也尝试过coalesce),我希望写入一个输出文件。但事实并非如此,这个我的文件数和之前写的分区数一样多。

如何确保 S3 上只有一个输出文件?

【问题讨论】:

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


    【解决方案1】:

    原来是maxRecordsPerFile 造成了这个问题,删除它我得到了一个最终文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2021-09-23
      • 2021-10-29
      • 2014-06-01
      相关资源
      最近更新 更多