Aller au contenu principal

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

*cols

str ou list

Noms des colonnes par lesquelles partitionner.

parameter

Type

Description

*cols

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|
# +---+