当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。