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

Apache spark 为什么apache spark的保存功能包含一个包含多个子文件的文件夹?,apache-spark,spark-dataframe,Apache Spark,Spark Dataframe,保存spark dataframe时,spark将保存到文件夹中的多个文件,而不是仅保存一个文件 df.write.format("json") \ .option("header", "true") \ .save('data.json', mode='append') 运行此代码时,data.json将是文件夹名,而不是文件名 我想知道这样做的好处是什么?当您编写数据帧或rdd时,spark在下面使用HadoopAPI 包含结

保存spark dataframe时,spark将保存到文件夹中的多个文件,而不是仅保存一个文件

df.write.format("json") \
                .option("header", "true") \
                .save('data.json', mode='append')
运行此代码时,data.json将是文件夹名,而不是文件名


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

当您编写数据帧或rdd时,spark在下面使用HadoopAPI

包含结果的实际数据位于
部分-
文件中,这些文件在dataframe上创建为相同数量的分区。如果您有
n
分区
,则它将创建
n
个零件文件

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

其他文件,如
\u SUCCESS
表示它已成功完成,
.crc
表示ckeck


希望这对您有所帮助。

谢谢。但是我想知道工人们如何访问这些文件?例如:worker1当前正在使用零件-00000,worker2如何知道零件-00000由worker1使用,并选择由驱动程序维护的另一个零件,但是多个零件也可以存储在workes中。