一下内容都是个人在实践当中的个人见解!
1.map();//将集合的每一个元素乘以2,其实就是得到整个并行化集合的迭代式的执行计算,比如:将集合的每一个元素乘以2
2.filter();// 过滤掉集合中的偶数,或是奇数,返回值是boolean, v1 % 2 == 0;//等于0就是符合要求的偶数就会返回去,最后得到就是偶数
3. flatMap();//拆分算子,拆分并行化集合或是其他的数据,比如有一段很长的文字把它拆分成一段一段的可以用到这个算子, Arrays.asList(t.split("。"));
4. groupByKey();//这个算子就是分组,JavaPairRDD<String,Iterable<Integer>>groupedScores=words.groupByKey();它会根据words并行集合的键进行分组,键相同的分在一组
5.reduceByKey();//根据相同的key,计算这个key的总和;,Function2(T,T,T)这个接口里面有三个参数第一个泛型类型和第二个泛型类型,
代表了原始RDD中的元素的value的类型
6. sortByKey(): sorted.sortByKey(false);//false就是降序相反和默认的就是升序
7. join();//比如创建俩个并行化集合,key值是一样的,集合1.join(集合2);集合1类型是Tuple2<Integer,String>,
集合2类型是Tuple2<Integer,Integer>返回值是 JavaPairRDD<Integer,Tuple2<String,Integer>>类,循环输出发现会根据key进行分组 !
8. cogroup(); 相当于是,一个key join上的所有value,都给放到一个Iterable里面去了
9.mapToPair
举例,在C://Users//Administrator.USER-20180502AW//Desktop//score.txt 文件的内容如下
a s d f g h j k l
将每一行的第一个单词作为键,1 作为value创建pairRDD 在java里返回值就是JavaPairRDD<String,Integer>