repartitionById

Mengembalikan DataFrame baru yang dipartisi oleh ekspresi partisi yang diberikan. DataFrame yang dihasilkan dipartisi oleh pengidentifikasi kolom.

Sintaksis

repartitionById(numPartitions: int, *cols: "ColumnOrName")

Parameter-parameternya

Parameter Tipe Deskripsi
numPartitions int jumlah target partisi.
cols str atau Kolom kolom partisi.

Pengembalian Barang

DataFrame: DataFrame yang Dipartisi Ulang.

Catatan

Setidaknya satu ekspresi partisi demi ekspresi harus ditentukan. Ini mirip dengan partisi ulang dalam distribusi, tetapi mempertahankan urutan baris dalam setiap partisi.

Ini adalah API eksperimental.

Examples

from pyspark.sql import functions as sf
spark.createDataFrame(
    [(14, "Tom"), (23, "Alice"), (16, "Bob"), (18, "Alice"), (21, "Alice")],
    ["age", "name"]
).repartitionById(2, "name").select(
    "age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14|  Tom|                   0|
# | 23|Alice|                   1|
# | 18|Alice|                   1|
# | 21|Alice|                   1|
# | 16|  Bob|                   0|
# +---+-----+--------------------+