當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pyspark DataFrame.coalesce用法及代碼示例


本文簡要介紹 pyspark.sql.DataFrame.coalesce 的用法。

用法:

DataFrame.coalesce(numPartitions)

返回具有完全 numPartitions 分區的新 DataFrame

類似於在 RDD 上定義的合並,此操作會導致窄依賴,例如如果您從 1000 個分區增加到 100 個分區,則不會有洗牌,而是 100 個新分區中的每一個都將占用當前分區中的 10 個。如果請求的分區數更大,它將保持當前的分區數。

但是,如果您要進行劇烈的合並,例如對於 numPartitions = 1,這可能會導致您的計算發生在比您喜歡的更少的節點上(例如,在 numPartitions = 1 的情況下為一個節點)。為避免這種情況,您可以調用repartition()。這將添加一個 shuffle 步驟,但意味著當前的上遊分區將並行執行(無論當前分區是什麽)。

1.4.0 版中的新函數。

參數

numPartitionsint

指定目標分區數

例子

>>> df.coalesce(1).rdd.getNumPartitions()
1

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.DataFrame.coalesce。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。