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 memiliki partisi yang tepat numPartitions .
Sintaksis
coalesce(numPartitions: int)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
numPartitions |
int | tentukan jumlah target partisi. |
Pengembalian Barang
DataFrame
Catatan
Mirip dengan coalesce yang ditentukan pada RDD, operasi ini menghasilkan dependensi sempit, misalnya jika Anda pergi dari 1000 partisi ke 100 partisi, tidak akan ada pengacakan, bukan masing-masing dari 100 partisi baru akan mengklaim 10 partisi saat ini. Jika jumlah partisi yang lebih besar diminta, partisi akan tetap berada di jumlah partisi saat ini.
Namun, jika Anda melakukan coalesce drastis, misalnya ke numPartitions = 1, ini dapat mengakibatkan komputasi Anda terjadi pada lebih sedikit simpul daripada yang Anda suka (misalnya satu node dalam kasus numPartitions = 1). Untuk menghindari hal ini, Anda dapat memanggil repartition(). Ini akan menambahkan langkah acak, tetapi berarti partisi hulu saat ini akan dijalankan secara paralel (per apa pun partisi saat ini).
Examples
from pyspark.sql import functions as sf
spark.range(0, 10, 1, 3).coalesce(1).select(
sf.spark_partition_id().alias("partition")
).distinct().sort("partition").show()
# +---------+
# |partition|
# +---------+
# | 0|
# +---------+