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