JavaSparkContext jsc = TestUtil.getJavaSparkContext("TestSparkHBase");//just gets the java spark context
List<Integer> l1 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l1.add(4);
l1.add(5);
List<Integer> l2 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
JavaRDD<Integer> rdd1 = jsc.parallelize(l1);
JavaRDD<Integer> rdd2 = jsc.parallelize(l2);
JavaRDD<Integer> rdd3 = rdd1.subtract(rdd2);
rdd3.saveAsTextFile("...");
我得到的输出是: 1 1 2 2 3 4 5
这是预期的行为吗?我的期望是获得: 3 4 五 作为输出
答案 0 :(得分:3)
在创建新的ArrayList l2后,再次错误地将1,2添加到l1中。
将其更改为l2,您将获得预期的结果。