Skip to content

Commit 433ad5b

Browse files
committed
Add Java test
1 parent 4c25a54 commit 433ad5b

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,36 @@ public void sortByKey() {
189189
Assert.assertEquals(new Tuple2<Integer, Integer>(3, 2), sortedPairs.get(2));
190190
}
191191

192+
@Test
193+
public void repartitionAndSortWithinPartitions() {
194+
List<Tuple2<Integer, Integer>> pairs = new ArrayList<Tuple2<Integer, Integer>>();
195+
pairs.add(new Tuple2<Integer, Integer>(0, 5));
196+
pairs.add(new Tuple2<Integer, Integer>(3, 8));
197+
pairs.add(new Tuple2<Integer, Integer>(2, 6));
198+
pairs.add(new Tuple2<Integer, Integer>(0, 8));
199+
pairs.add(new Tuple2<Integer, Integer>(3, 8));
200+
pairs.add(new Tuple2<Integer, Integer>(1, 3));
201+
202+
JavaPairRDD<Integer, Integer> rdd = sc.parallelizePairs(pairs);
203+
204+
Partitioner partitioner = new Partitioner() {
205+
public int numPartitions() {
206+
return 2;
207+
}
208+
public int getPartition(Object key) {
209+
return ((Integer)key).intValue();
210+
}
211+
};
212+
213+
JavaPairRDD<Integer, Integer> repartitioned =
214+
rdd.repartitionAndSortWithinPartitions(partitioner);
215+
List<List<Tuple2<Integer, Integer>>> partitions = repartitioned.glom().collect();
216+
Assert.assertEquals(partitions.get(0), Arrays.asList(new Tuple2<Integer, Integer>(0, 5),
217+
new Tuple2<Integer, Integer>(0, 8), new Tuple2<Integer, Integer>(2, 6)));
218+
Assert.assertEquals(partitions.get(1), Arrays.asList(new Tuple2<Integer, Integer>(1, 3),
219+
new Tuple2<Integer, Integer>(3, 8), new Tuple2<Integer, Integer>(3, 8)));
220+
}
221+
192222
@Test
193223
public void emptyRDD() {
194224
JavaRDD<String> rdd = sc.emptyRDD();

0 commit comments

Comments
 (0)