diff options
-rw-r--r-- | core/src/main/scala/org/apache/spark/api/java/JavaRDD.scala | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/api/java/JavaRDD.scala b/core/src/main/scala/org/apache/spark/api/java/JavaRDD.scala index 568ae1575b..bd778550af 100644 --- a/core/src/main/scala/org/apache/spark/api/java/JavaRDD.scala +++ b/core/src/main/scala/org/apache/spark/api/java/JavaRDD.scala @@ -21,7 +21,7 @@ import scala.reflect.ClassTag import org.apache.spark._ import org.apache.spark.rdd.RDD -import org.apache.spark.api.java.function.{Function => JFunction, FlatMapFunction => JFMap} +import org.apache.spark.api.java.function.{Function => JFunction, FlatMapFunction => JFMap, VoidFunction} import org.apache.spark.storage.StorageLevel import java.util.{Iterator => JIterator} import scala.collection.JavaConversions._ @@ -149,6 +149,13 @@ JavaRDDLike[T, JavaRDD[T]] { rdd.mapPartitions[U]((x => f(asJavaIterator(x)).iterator), preservesPartitioning) } + /** + * Applies a function f to each partition of this RDD. + */ + def foreachPartition(f: VoidFunction[JIterator[T]]) { + rdd.foreachPartition((x => f(asJavaIterator(x)))) + } + } object JavaRDD { |