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


Python PySpark SparkSession range方法用法及代碼示例


PySpark SparkSession 的 range(~) 方法使用一係列值創建一個新的 PySpark DataFrame - 此方法類似於 Python 的標準 range(~) 方法。

參數

1. start | int

起始值(含)。

2. end | int | optional

最終值(不含)。

3. step | int | optional

要增加的值。默認情況下,step=1

4. numPartitions | int | optional

用於劃分值的分區數。

返回值

PySpark 數據幀。

例子

使用範圍(一係列值)創建 PySpark DataFrame

要創建包含一係列值的 PySpark DataFrame,請使用 range(~) 方法:

df = spark.range(1,4)
df.show()



+---+
| id|
+---+
|  1|
|  2|
|  3|
+---+

請注意如何包含起始值而不包含結束值。

請注意,如果僅提供一個參數,則範圍將從 0(含)開始,並且該參數將表示 end-value(不包括):

df = spark.range(3)
df.show()



+---+
| id|
+---+
|  0|
|  1|
|  2|
+---+
設置增量值

我們可以使用第三個參數選擇特定的增量值,而不是默認的增量值step=1

df = spark.range(1,6,2)
df.show()



+---+
| id|
+---+
|  1|
|  3|
|  5|
+---+
按降序排列的一係列值

我們還可以得到一係列按降序排列的值:

df = spark.range(4,1,-1)
df.show()



+---+
| id|
+---+
|  4|
|  3|
|  2|
+---+

請注意以下事項:

  • 起始值必須大於結束值

  • 增量值必須為負。

指定分區數

默認情況下,生成的 PySpark DataFrame 將被分割的分區數量由我們的 PySpark 配置控製。就我而言,默認分區數為 8:

df = spark.range(1,4)
df.rdd.getNumPartitions()



8

我們可以通過指定 numPartitions 參數來覆蓋我們的配置:

df = spark.range(1,4, numPartitions=2)
df.rdd.getNumPartitions()



2

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark SparkSession | range method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。