PySpark: écrire Parquet partitionné
objectif
Expliquer et montrer comment sauvegarder un DataFrame Parquet partitionné par colonnes.
code minimal
(df.write
.mode("overwrite")
.partitionBy("year","month","day")
.parquet("s3a://bucket/data/events/"))
utilisation
# coalesce pour réduire le nombre de fichiers
df.repartition(200, "year","month").write.partitionBy("year","month").parquet("/data/out/")
variante(s) utile(s)
# format Delta Lake si disponible
# df.write.format("delta").mode("append").partitionBy("dt").save("/delta/events")
notes
- Définissez partitionBy pour améliorer les scans filtrés.
- Repartition avant write pour dimensionner le nombre de fichiers.