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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。