partitionBy (DataFrameWriter)

Partitionne la sortie par les colonnes données sur le système de fichiers. Si elle est spécifiée, la sortie est disposée sur le système de fichiers similaire au schéma de partitionnement de Hive.

Syntaxe

partitionBy(*cols)

Paramètres

Paramètre Type Description
*cols str ou list Noms des colonnes à partitionner.

Retours

DataFrameWriter

Exemples

Écrivez un DataFrame dans un fichier Parquet de manière partitionnée et lisez-le.

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