Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengembalikan DataFrame baru yang dipartisi oleh ekspresi partisi yang diberikan. DataFrame yang dihasilkan dipartisi rentang.
Sintaksis
repartitionByRange(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
numPartitions |
int | dapat berupa int untuk menentukan jumlah target partisi atau Kolom. Jika berupa Kolom, kolom tersebut akan digunakan sebagai kolom pemartisian pertama. Jika tidak ditentukan, jumlah default partisi digunakan. |
cols |
str atau Kolom | kolom partisi. |
Pengembalian Barang
DataFrame: DataFrame yang Dipartisi Ulang.
Catatan
Setidaknya satu ekspresi partisi demi ekspresi harus ditentukan. Ketika tidak ada urutan pengurutan eksplisit yang ditentukan, "null naik terlebih dahulu" diasumsikan.
Karena alasan performa, metode ini menggunakan pengambilan sampel untuk memperkirakan rentang. Oleh karena itu, output mungkin tidak konsisten, karena pengambilan sampel dapat mengembalikan nilai yang berbeda. Ukuran sampel dapat dikontrol oleh konfigurasi spark.sql.execution.rangeExchange.sampleSizePerPartition.
Examples
from pyspark.sql import functions as sf
spark.createDataFrame(
[(14, "Tom"), (23, "Alice"), (16, "Bob")], ["age", "name"]
).repartitionByRange(2, "age").select(
"age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14| Tom| 0|
# | 16| Bob| 0|
# | 23|Alice| 1|
# +---+-----+--------------------+