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


Python pyspark DataFrame.repartitionByRange用法及代码示例


本文简要介绍 pyspark.sql.DataFrame.repartitionByRange 的用法。

用法:

DataFrame.repartitionByRange(numPartitions, *cols)

返回由给定分区表达式分区的新 DataFrame 。生成的 DataFrame 是范围分区的。

必须至少指定一个partition-by 表达式。如果未指定明确的排序顺序,则假定为 “ascending nulls first”。

2.4.0 版中的新函数。

参数

numPartitionsint

可以是 int 来指定目标分区数或列。如果它是一个Column,它将被用作第一个分区列。如果未指定,则使用默认的分区数。

colsstr 或 Column

分区列。

注意

由于性能原因,此方法使用抽样来估计范围。因此,输出可能不一致,因为采样可以返回不同的值。样本大小可以由配置控制spark.sql.execution.rangeExchange.sampleSizePerPartition.

例子

>>> df.repartitionByRange(2, "age").rdd.getNumPartitions()
2
>>> df.show()
+---+-----+
|age| name|
+---+-----+
|  2|Alice|
|  5|  Bob|
+---+-----+
>>> df.repartitionByRange(1, "age").rdd.getNumPartitions()
1
>>> data = df.repartitionByRange("age")
>>> df.show()
+---+-----+
|age| name|
+---+-----+
|  2|Alice|
|  5|  Bob|
+---+-----+

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.DataFrame.repartitionByRange。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。