partitionBy (DataFrameWriter)
Partitionne la sortie par les colonnes spécifiées sur le système de fichiers. Si elle est spécifiée, la sortie est organisée sur le système de fichiers de manière similaire au schéma de partitionnement de Hive.
Syntaxe
partitionBy(*cols)
parameter
parameter | Type | Description |
|---|---|---|
| str ou list | Noms des colonnes par lesquelles partitionner. |
Renvoie
DataFrameWriter
Exemples
Écrivez un DataFrame dans un fichier Parquet de manière partitionnée, puis relisez-le.
Python
import tempfile, os
with tempfile.TemporaryDirectory(prefix="partitionBy") as d:
spark.createDataFrame(
[{"age": 100, "name": "Alice"}, {"age": 120, "name": "Ruifeng Zheng"}]
).write.partitionBy("name").mode("overwrite").format("parquet").save(d)
spark.read.parquet(d).sort("age").show()
# +---+-------------+
# |age| name|
# +---+-------------+
# |100| Alice|
# |120|Ruifeng Zheng|
# +---+-------------+
# Read one partition as a DataFrame.
spark.read.parquet(f"{d}{os.path.sep}name=Alice").show()
# +---+
# |age|
# +---+
# |100|
# +---+