Spark-core scala的40多种算子汇总
本篇言简意赅,如有疑惑,请看前几篇相关算子的文章
因为没法上传xmind格式,只能导入md上传
本人不才,如有错,一起交流
Transformation
map
对RDD中的每一个元素都执行,前后元素的对应关系是1:1。也就是说,对一个元素执行RDD的操作,可以产生一个元素。
RDD使用map方法,有N个数据就加载了N次
mapPartitions
1:1对应 分区
RDD使用mapParatition方法,分批加载,有N个区加载N次; 在不需要返回数据的条件下使用,就是说,以后操作不需要用到foreachPartition的执行结果
mapValue
k不变 改动v
flatmap
对RDD中的每一个元素都执行,前后元素的对应关系是1:N。将每个元素合并成集合
flatMapValues
k不变 改动v
reduceByKey
要求数据(K,V) (K, V) —> (K, V),对每个键对应的多个值进行合并操作
groupByKey
要求数据(K,V),对key进行分组,分组后相同key的数据拉取到一起,组成了一个集合 (K, V).groupByKey() --> (K, CompactBuffer(v1,v2))
sortByKey
排序
sortBy
按照V(Int)进行排序,默认正序排列