scala—如何编写与spark分区相同数量的文件

gg58donl  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(416)

我想把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上只有一个输出文件?

6xfqseft

6xfqseft1#

结果发现 maxRecordsPerFile 造成了这一切,我得到了最后一份文件。

相关问题