pyspark.sql.DataFrame.repartitionByRange

DataFrame。 repartitionByRange ( numPartitions:聯盟(int,ColumnOrName],*關口:ColumnOrName )→DataFrame

返回一個新的DataFrame分區的分區表達式。由此產生的DataFrame範圍分區。

必須指定至少一個隔牆被表達。當沒有指定明確的排序順序,“提升null第一”。

參數
numPartitions int

可以一個int指定目標分區或一列的數量。如果它是一個列,它將被用作第一個分區列。如果沒有指定,默認使用分區數量。

關口 str或

分區列。

筆記

由於性能原因這種方法使用抽樣估計範圍。因此,輸出可能並不一致,因為抽樣可以返回不同的值。樣本大小可以控製的配置spark.sql.execution.rangeExchange.sampleSizePerPartition

例子

> > >dfrepartitionByRange(2,“年齡”)抽樣getNumPartitions()2> > >df顯示()+ - - - + - - - +| | |年齡的名字+ - - - + - - - +| | 2 |愛麗絲鮑勃| 5 | |+ - - - + - - - +> > >dfrepartitionByRange(1,“年齡”)抽樣getNumPartitions()1> > >數據=dfrepartitionByRange(“年齡”)> > >df顯示()+ - - - + - - - +| | |年齡的名字+ - - - + - - - +| | 2 |愛麗絲鮑勃| 5 | |+ - - - + - - - +