partitionBy (DataFrameWriter)

Divide la salida por las columnas especificadas en el sistema de archivos. Si se especifica, la salida se establece en el sistema de archivos similar al esquema de partición de Hive.

Sintaxis

partitionBy(*cols)

Parámetros

Parámetro Tipo Descripción
*cols str o list Nombres de las columnas por las que se va a crear particiones.

Devoluciones

DataFrameWriter

Ejemplos

Escriba un DataFrame en un archivo Parquet de forma particionada y vuelva a leerlo.

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