JAVA Spark中的操作集合的方法
2018-01-16 08:41
225 查看
JavaRDD<String> rdd1 = jsc.parallelize(Arrays.asList("coffee", "coffee", "panda", "monkey", "tea")); JavaRDD<String> rdd2 = jsc.parallelize(Arrays.asList("coffee", "monkey", "kitty")); //distinct 去重操作 JavaRDD<String> rdd_distinct = rdd1.distinct(); System.out.println(rdd_distinct.collect()); //union 该函数将两个RDD进行合并,不去重 JavaRDD<String> rdd_union = rdd1.union(rdd2); System.out.println(rdd_union.collect()); //intersection 该函数返回两个RDD的交集,并且去重 JavaRDD<String> rdd_intersection = rdd1.intersection(rdd2); System.out.println(rdd_intersection.collect()); //返回在rdd1中出现,并且不在rdd2中出现的元素,不去重 JavaRDD<String> rdd_subtract = rdd1.subtract(rdd2); System.out.println(rdd_subtract.collect()); //返回rdd1与rdd2的笛卡尔积 JavaPairRDD<String, String> rdd_cartesian = rdd1.cartesian(rdd2); System.out.println(rdd_cartesian.collect()); //返回rdd中数组的合 JavaRDD<Integer> rdd = jsc.parallelize(Arrays.asList(1, 2, 3, 4)); Integer sum = rdd.reduce(new Function2<Integer, Integer, Integer>() { @Override public Integer call(Integer x, Integer y) throws Exception { return x + y; } }); System.out.println(sum);
输出结果:
[monkey, coffee, panda, tea] [coffee, coffee, panda, monkey, tea, coffee, monkey, kitty] [monkey, coffee] [tea, panda] [(coffee,coffee), (coffee,monkey), (coffee,kitty), (coffee,coffee), (coffee,monkey), (coffee,kitty), (panda,coffee), (panda,monkey), (panda,kitty), (monkey,coffee), (monkey,monkey), (monkey,kitty), (tea,coffee), (tea,monkey), (tea,kitty)] 10
相关文章推荐
- java基础—List集合的常规方法操作
- Java_集合操作_asList方法产生的List对象不可改变
- java基础—Map集合的常见方法操作(java集合八)
- java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)
- Java_集合操作_不同的列表选择不同的遍历方法
- Java_集合操作_遍历集合方法
- Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质
- java数组的去重操作(非集合方法)
- Java调用.NET XML Web Services返回的数据集合的方法
- 使用Java操作文本文件的方法详解
- Java操作文本文件的方法
- java中的集合类的几个鲜为人知的实用方法
- java 实现将传入的两个集合进行并,交,联集,差操作
- java操作Excel的一种方法
- java io 操作集合
- java操作XML4中方法总结(转载)
- Java操作Excel的一种方法
- Java操作文本文件的方法
- 使用Java操作文本文件的方法详解
- java中操作XML的方法