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