Skip to content

Commit c183b92

Browse files
bobpaulinmateiz
authored andcommitted
[SPARK-2279] Added emptyRDD method to Java API
Added emptyRDD method to Java API with tests. Author: bpaulin <[email protected]> Closes #1597 from bobpaulin/SPARK-2279 and squashes the following commits: 5ad57c2 [bpaulin] [SPARK-2279] Added emptyRDD method to Java API
1 parent 75663b5 commit c183b92

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

core/src/main/scala/org/apache/spark/api/java/JavaSparkContext.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import org.apache.spark._
3434
import org.apache.spark.SparkContext.{DoubleAccumulatorParam, IntAccumulatorParam}
3535
import org.apache.spark.api.java.JavaSparkContext.fakeClassTag
3636
import org.apache.spark.broadcast.Broadcast
37-
import org.apache.spark.rdd.RDD
37+
import org.apache.spark.rdd.{EmptyRDD, RDD}
3838

3939
/**
4040
* A Java-friendly version of [[org.apache.spark.SparkContext]] that returns
@@ -135,6 +135,13 @@ class JavaSparkContext(val sc: SparkContext) extends JavaSparkContextVarargsWork
135135
sc.parallelize(JavaConversions.asScalaBuffer(list), numSlices)
136136
}
137137

138+
/** Get an RDD that has no partitions or elements. */
139+
def emptyRDD[T]: JavaRDD[T] = {
140+
implicit val ctag: ClassTag[T] = fakeClassTag
141+
JavaRDD.fromRDD(new EmptyRDD[T](sc))
142+
}
143+
144+
138145
/** Distribute a local Scala collection to form an RDD. */
139146
def parallelize[T](list: java.util.List[T]): JavaRDD[T] =
140147
parallelize(list, sc.defaultParallelism)

core/src/test/java/org/apache/spark/JavaAPISuite.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,7 @@ public void intersection() {
118118
JavaRDD<Integer> intersections = s1.intersection(s2);
119119
Assert.assertEquals(3, intersections.count());
120120

121-
List<Integer> list = new ArrayList<Integer>();
122-
JavaRDD<Integer> empty = sc.parallelize(list);
121+
JavaRDD<Integer> empty = sc.emptyRDD();
123122
JavaRDD<Integer> emptyIntersection = empty.intersection(s2);
124123
Assert.assertEquals(0, emptyIntersection.count());
125124

@@ -184,6 +183,12 @@ public void sortByKey() {
184183
Assert.assertEquals(new Tuple2<Integer, Integer>(3, 2), sortedPairs.get(2));
185184
}
186185

186+
@Test
187+
public void emptyRDD() {
188+
JavaRDD<String> rdd = sc.emptyRDD();
189+
Assert.assertEquals("Empty RDD shouldn't have any values", 0, rdd.count());
190+
}
191+
187192
@Test
188193
public void sortBy() {
189194
List<Tuple2<Integer, Integer>> pairs = new ArrayList<Tuple2<Integer, Integer>>();

0 commit comments

Comments
 (0)