diff options
author | Ted Blackman <ted.blackman@gmail.com> | 2015-06-04 22:21:11 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-06-04 22:22:01 -0700 |
commit | e5054605994b8777e629c02fcbf8a5a6cbd0b0fe (patch) | |
tree | 81e3221a7a1a78a5dd77a3d055ed6092b416b341 /python/pyspark | |
parent | 8f16b94afb39e1641c02d4e0be18d34ef7c211cc (diff) | |
download | spark-e5054605994b8777e629c02fcbf8a5a6cbd0b0fe.tar.gz spark-e5054605994b8777e629c02fcbf8a5a6cbd0b0fe.tar.bz2 spark-e5054605994b8777e629c02fcbf8a5a6cbd0b0fe.zip |
[SPARK-8116][PYSPARK] Allow sc.range() to take a single argument.
Author: Ted Blackman <ted.blackman@gmail.com>
Closes #6656 from belisarius222/branch-1.4 and squashes the following commits:
747cbc2 [Ted Blackman] [SPARK-8116][PYSPARK] Allow sc.range() to take a single argument.
(cherry picked from commit f02af7c8f7f43e4cfe3c412d2b5ea4128669ce22)
Signed-off-by: Reynold Xin <rxin@databricks.com>
Diffstat (limited to 'python/pyspark')
-rw-r--r-- | python/pyspark/context.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/python/pyspark/context.py b/python/pyspark/context.py index aeb7ad4f2f..44d90f1437 100644 --- a/python/pyspark/context.py +++ b/python/pyspark/context.py @@ -324,10 +324,12 @@ class SparkContext(object): with SparkContext._lock: SparkContext._active_spark_context = None - def range(self, start, end, step=1, numSlices=None): + def range(self, start, end=None, step=1, numSlices=None): """ Create a new RDD of int containing elements from `start` to `end` - (exclusive), increased by `step` every element. + (exclusive), increased by `step` every element. Can be called the same + way as python's built-in range() function. If called with a single argument, + the argument is interpreted as `end`, and `start` is set to 0. :param start: the start value :param end: the end value (exclusive) @@ -335,9 +337,17 @@ class SparkContext(object): :param numSlices: the number of partitions of the new RDD :return: An RDD of int + >>> 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] """ + if end is None: + end = start + start = 0 + return self.parallelize(xrange(start, end, step), numSlices) def parallelize(self, c, numSlices=None): |