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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。