pyspark.sql.DataFrame.coalesce

DataFrame。 合並 ( numPartitions:int )→pyspark.sql.dataframe.DataFrame

返回一個新的DataFrame已經完全numPartitions分區。

類似於合並在一個定義的抽樣,這個操作的結果在一個狹窄的依賴性,例如如果你從1000個分區到100個分區,不會出現洗牌,而不是每個100個新分區將索賠10當前的分區。如果請求更多的分區,它將留在當前分區的數量。

然而,如果你正在做一個激烈的融合,如numPartitions = 1,這可能會導致你的計算發生在節點少於你喜歡(例如一個節點在numPartitions = 1)的情況下,為了避免這種情況,你可以叫重新分配()。這將添加一個洗牌一步,但意味著當前上遊分區並行執行(每無論當前分區)。

參數
numPartitions int

指定目標分區的數量

例子

> > >df合並(1)抽樣getNumPartitions()1