Spark算子大致上可分为三大类算子:
Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据。
Key-Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Key-Value型的数据。
Action算子,这类算子会触发SparkContext提交作业。
1、mapValues
mapValues是针对[K,V]中对V的值进行map
2、combineByKey
使用用户设置好的聚合函数对每个Key中对Value进行组合(combine),可以将输入类型为 RDD[(K,V)] 转成RDD[(K,C)]
3、reduceByKey
对元素为KV对的RDD中Key相同对元素对Value进行binary_function的reduce操作,因此Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对
4、partitionBy
对RDD进行分区操作
5、cogroup
cogroup指对两个RDD中对KV元素,每个RDD中相同Key中对元素中的元素分别聚合成一个集合
6、join
对两个需要连接对RDD进行cogroup函数操作
7、leftOutJoin
8、rightOutJoin