| 目录 | partitionBy |
|---|---|
| 单文件 | maxRecordsPerFile |
| 并行 | repartition/coalesce |
| 目标 | 单文件 128-256MB |
写出布局
写出布局
spark.conf.set('spark.sql.files.maxRecordsPerFile', 2000000)
df.repartition(32, 'store_id') \
.write.mode('overwrite') \
.partitionBy('dt') \
.parquet('/warehouse/dws/trade_store')repartition 会 shuffle 但重分布均匀;coalesce 不 shuffle 但可能仍然不均。