为什么 apache spark 保存功能的文件夹包含多个子文件?

Why apache spark save function with a folder contain multi sub-file?

保存spark dataframe时,spark会保存到一个文件夹内的多个文件,而不是只保存一个文件。

df.write.format("json") \
                .option("header", "true") \
                .save('data.json', mode='append')

当运行此代码时,data.json将是文件夹名而不是文件名。

我想知道这样做有什么好处?

当你编写 dataframe 或 rdd 时,spark 在下面使用 HadoopAPI

包含结果的实际数据在 part- 个文件中,这些文件被创建为数据帧上相同数量的分区。如果您有 npartition 个,那么它会创建 n 个零件文件。

多个 part 文件的主要优点是,如果您有多个工作人员可以并行访问和写入文件。

其他文件如_SUCCESS表示已经成功完成,.crc用于ckeck。

希望对您有所帮助。