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


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


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

用法:

spark.coalesce(num_partitions: int) → ps.DataFrame

返回一個新的 DataFrame,它恰好具有 num_partitions 分區。

注意

此操作導致狹窄的依賴關係,例如如果您從 1000 個分區增加到 100 個分區,則不會有洗牌,而是 100 個新分區中的每一個都將占用當前分區中的 10 個。如果請求的分區數更大,它將保持當前的分區數。但是,如果您要進行劇烈的合並,例如到 num_partitions = 1,這可能會導致您的計算發生在比您喜歡的更少的節點上(例如,在 num_partitions = 1 的情況下是一個節點)。為避免這種情況,您可以調用repartition()。這將添加一個 shuffle 步驟,但意味著當前的上遊分區將並行執行(無論當前分區是什麽)。

參數

num_partitionsint

目標分區數。

返回

DataFrame

例子

>>> psdf = ps.DataFrame({"age": [5, 5, 2, 2],
...         "name": ["Bob", "Bob", "Alice", "Alice"]}).set_index("age")
>>> psdf.sort_index()  
      name
age
2    Alice
2    Alice
5      Bob
5      Bob
>>> new_psdf = psdf.spark.coalesce(1)
>>> new_psdf.to_spark().rdd.getNumPartitions()
1
>>> new_psdf.sort_index()   
      name
age
2    Alice
2    Alice
5      Bob
5      Bob

相關用法


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