【发布时间】:2018-12-04 16:09:56
【问题描述】:
我有大量最终结果数据,这些数据在我感兴趣的列中分布不均。当我直接通过分区写入时,每个分区的文件数与 spark.sql.shuffle.partitions 相同。这导致拥挤分区中的每个文件都非常大(以 GB 为单位),但在其他一些分区中,文件大小非常小(甚至以 KB 为单位)。有没有办法改变每个分区的文件数?
例子:
+----------------------------+----------+
| number of rows in category | category |
+----------------------------+----------+
| 50000000000 | A |
| 200000 | B |
| 30000 | C |
+----------------------------+----------+
如果我这样做:
df.write.partitionBy("category").parquet(output_dir)
文件夹“A”中的文件很大,而“B”和“C”中的文件很小。
【问题讨论】: