partitionBy (DataFrameWriter)

Mempartisi output oleh kolom yang diberikan pada sistem file. Jika ditentukan, output ditata pada sistem file yang mirip dengan skema pemartisian Apache Hive.

Sintaksis

partitionBy(*cols)

Parameter-parameternya

Parameter Tipe Deskripsi
*cols str atau daftar Nama kolom yang akan dipartisi.

Pengembalian Barang

DataFrameWriter

Examples

Tulis DataFrame ke dalam file Parquet dengan cara yang dipartisi, dan baca kembali.

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