pyspark.RDD.mapPartitionsWithSplit

RDD. mapPartitionsWithSplit ( f : Callable [ [ int , Iterable [ T ] ] , Iterable [ U ] ] , preservesPartitioning : bool = False ) → pyspark.rdd.RDD [ U ] [source]

返回一个新的RDD,通过应用一个函数到这个RDD的每个分区,同时跟踪原始分区的索引。

新增于版本 0.7.0。

自版本0.9.0起已弃用: 请改用meth: RDD.mapPartitionsWithIndex

Parameters
f function

在RDD的每个分区上运行的函数

preservesPartitioning bool, optional, default False

指示输入函数是否保留分区器,除非这是对RDD并且输入

Returns
RDD

通过将一个函数应用于每个分区来创建一个新的 RDD

示例

>>> rdd = sc.parallelize([1, 2, 3, 4], 4)
>>> def f(splitIndex, iterator): yield splitIndex
...
>>> rdd.mapPartitionsWithSplit(f).sum()
6