本文主要是记录一些常用的Transformation算子和Action算子
一、Transformation变换算子
1.Value数据类型
这种变换并不触发提交作业,针对处理的数据项是Value 型的数据。
(1)输入分区和输出分区一对一
map、flatMap、glom、MapPartitions算子
(2)输入分区和输出分区多对一
union算子、Cartesian算子
(3)输入分区和输出分区多对多
groupBy算子
(4)输出分区为输入分区子集
filter、distinct、subtract、sample、takeSample算子
(5)Cache型
cache、persist算子
2.Key-Value数据类型
这种变换并不触发提交作业,针对处理的数据项是Key-Value型的数据对。
(1)输入分区和输出分区一对一
mapValues算子
(2)对单个RDD或两个RDD聚集单个RDD聚集
combineByKey 、reduceByKey 、partitionBy 算子
(3)两个RDD聚集
Cogroup算子
(4)连接
join、leftOutJoin、rightOutJoin算子
二、Action 算子
触发 SparkContext 提交Job作业。
1.遍历
foreach算子
2.存储
saveAsTextFile 算子
saveAsObjectFile 算子
3.scala集合和数据类型
collect算子 、collectAsMap 算子、reduceByKeyLocally 算子 、lookup算子 、count算子 、top算子 、reduce算子 、fold算子 、aggregate算子
每个算子对应的例子可以通过下面学习:
http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html