parquet文件夹下的一个parquet文件是一个分区吗?

Is one parquet files under the parquet folder a partition?

我将数据框保存为 parquet 格式

df.write.parquet('/my/path')

查看HDFS,parquet目录/my/path

下有10个part-xxx.snappy.parquet文件

我的问题是:一部分-xxx.snappy.parquet 文件是否对应于我的数据帧的一个分区?

是的,part-** 文件是在写入 HDFS 时基于数据帧中的 number of partitions 创建的。

检查数据框中的 number of partitions

df.rdd.getNumPartitions()

为了控制写入文件系统的文件数量,我们可以根据需要使用

是的,这会为每个 Spark 分区创建一个文件。

请注意,您还可以按某些属性对文件进行分区:

df.write.partitionBy("key").parquet("/my/path")

在这种情况下,Spark 将为每个镶木地板分区创建多达 Spark 分区数量的文件。在这种情况下减少文件数量的常用方法是在写入之前通过键对数据进行重新分区(这有效地为每个分区创建一个文件)。