pyspark.sql.DataFrame.repartitionByRange¶
-
DataFrame。
repartitionByRange
( numPartitions:聯盟(int,ColumnOrName],*關口:ColumnOrName )→DataFrame¶ -
返回一個新的
DataFrame
分區的分區表達式。由此產生的DataFrame
範圍分區。必須指定至少一個隔牆被表達。當沒有指定明確的排序順序,“提升null第一”。
- 參數
-
- numPartitions int
-
可以一個int指定目標分區或一列的數量。如果它是一個列,它將被用作第一個分區列。如果沒有指定,默認使用分區數量。
-
關口
str或
列
-
分區列。
筆記
由於性能原因這種方法使用抽樣估計範圍。因此,輸出可能並不一致,因為抽樣可以返回不同的值。樣本大小可以控製的配置spark.sql.execution.rangeExchange.sampleSizePerPartition。
例子
> > >df。repartitionByRange(2,“年齡”)。抽樣。getNumPartitions()2> > >df。顯示()+ - - - + - - - +| | |年齡的名字+ - - - + - - - +| | 2 |愛麗絲鮑勃| 5 | |+ - - - + - - - +> > >df。repartitionByRange(1,“年齡”)。抽樣。getNumPartitions()1> > >數據=df。repartitionByRange(“年齡”)> > >df。顯示()+ - - - + - - - +| | |年齡的名字+ - - - + - - - +| | 2 |愛麗絲鮑勃| 5 | |+ - - - + - - - +