pyspark.SparkContext.range

SparkContext. range ( start : int , end : Optional [ int ] = None , step : int = 1 , numSlices : Optional [ int ] = None ) → pyspark.rdd.RDD [ int ] [source]

创建一个包含从 start end (不包括 end )之间元素的新整数 RDD,每个元素递增 step 。可以以与 Python 内置的 range() 函数相同的方式调用。如果使用单个参数调用,则该参数被解释为 end ,并且 start 设置为 0。

新增于版本 1.5.0。

Parameters
start int

起始值

end int, optional

结束值(不包含)

step int, optional, default 1

增量步骤

numSlices int, optional

新RDD的分区数量

Returns
RDD

一个整数的RDD

示例

>>> sc.range(5).collect()
[0, 1, 2, 3, 4]
>>> sc.range(2, 4).collect()
[2, 3]
>>> sc.range(1, 7, 2).collect()
[1, 3, 5]

生成带有负步长的RDD

>>> sc.range(5, 0, -1).collect()
[5, 4, 3, 2, 1]
>>> sc.range(0, 5, -1).collect()
[]

控制分区数量

>>> sc.range(5, numSlices=1).getNumPartitions()
1
>>> sc.range(5, numSlices=10).getNumPartitions()
10