Pyspark 数据框分区号

Pyspark dataframe partition number

我有一个数据框 df,我想按日期(df 中的一列)对其进行分区。 我有以下代码:

df.write.partitionBy('date').mode(overwrite').orc('path')

然后在上面的路径下,有一堆文件夹,例如日期=2018-10-08 等等... 但是在date=2018-10-08这个文件夹下,有5个文件,我想要的是在date=2018-10-08文件夹里面减少到只有一个文件。怎么做?我仍然希望它按日期分区。

提前致谢!

为了每个分区文件夹有 1 个文件,您需要在写入前按分区列对数据进行重新分区。这将打乱数据,使日期位于相同的 DataFrame/RDD 分区中:

df.repartition('date').write.partitionBy('date').mode(overwrite').orc('path')