pyspark.RDDBarrier.mapPartitionsWithIndex¶
- 
RDDBarrier.mapPartitionsWithIndex(f: Callable[[int, Iterable[T]], Iterable[U]], preservesPartitioning: bool = False) → pyspark.rdd.RDD[U][source]¶
- Returns a new RDD by applying a function to each partition of the wrapped RDD, while tracking the index of the original partition. And all tasks are launched together in a barrier stage. The interface is the same as - RDD.mapPartitionsWithIndex(). Please see the API doc there.- New in version 3.0.0. - Parameters
- ffunction
- a function to run on each partition of the RDD 
- preservesPartitioningbool, optional, default False
- indicates whether the input function preserves the partitioner, which should be False unless this is a pair RDD and the input 
 
- Returns
 - See also - Notes - This API is experimental - Examples - >>> rdd = sc.parallelize([1, 2, 3, 4], 4) >>> def f(splitIndex, iterator): yield splitIndex ... >>> barrier = rdd.barrier() >>> barrier <pyspark.rdd.RDDBarrier ...> >>> barrier.mapPartitionsWithIndex(f).sum() 6