Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tam olarak numPartitions bölümleri olan yeni bir DataFrame döndürür.
Sözdizimi
coalesce(numPartitions: int)
Parametreler
| Parametre | Türü | Açıklama |
|---|---|---|
numPartitions |
Int | hedef bölüm sayısını belirtin. |
İadeler
DataFrame
Notlar
RdD üzerinde tanımlanan birleşime benzer şekilde, bu işlem dar bir bağımlılıkla sonuçlanır; örneğin, 1000 bölümden 100 bölüme geçerseniz, 100 yeni bölümün her biri geçerli bölümlerden 10'unu talep eder. Daha fazla sayıda bölüm istenirse, geçerli bölüm sayısında kalır.
Ancak, örneğin numPartitions = 1 için büyük bir birleşim yapıyorsanız, bu işlem hesaplamanızın istediğinizden daha az düğümde gerçekleşmesine neden olabilir (örneğin, numPartitions = 1 durumunda bir düğüm). Bunu önlemek için repartition() öğesini çağırabilirsiniz. Bu bir karıştırma adımı ekler, ancak geçerli yukarı akış bölümlerinin paralel olarak yürütüleceği anlamına gelir (geçerli bölümleme ne olursa olsun).
Örnekler
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|
# +---------+