一、RDD算子可以分为三大类
1、Value数据类型的Transformation算子
2、Key-Value数据类型的Transformation算子
3、Action算子,这类算子会触发SparkContext提交Job作业。
二、Value型Transformation算子
1、输入分区与输出分区一对一型
map
flatMap
mapPartitions
glom:将每个分区形成一个数组,内部实现是返回的GlommedRDD。
2、输入分区与输出分区多对一型
union
cartesian:对两个RDD内的所有元素进行笛卡尔积操作,操作后,内部实现返回CartesianRDD。
3、输入分区与输出分区多对多型
groupBy:将元素通过函数生成相应的Key,数据就转化为Key-Value格式,
之后将Key相同的元素分为一组。
4、输出分区为输入分区子集型
filter
distinct
subtract:相当于进行集合的差操作,RDD1去除RDD1和RDD2交集中的所有元素。
sample
takeSample
5、还有一种特殊的输入与输出分区一对一的算子类型:Cache型。
C
2、Key-Value数据类型的Transformation算子
3、Action算子,这类算子会触发SparkContext提交Job作业。
二、Value型Transformation算子
1、输入分区与输出分区一对一型
map
flatMap
mapPartitions
glom:将每个分区形成一个数组,内部实现是返回的GlommedRDD。
2、输入分区与输出分区多对一型
union
cartesian:对两个RDD内的所有元素进行笛卡尔积操作,操作后,内部实现返回CartesianRDD。
3、输入分区与输出分区多对多型
groupBy:将元素通过函数生成相应的Key,数据就转化为Key-Value格式,
之后将Key相同的元素分为一组。
4、输出分区为输入分区子集型
filter
distinct
subtract:相当于进行集合的差操作,RDD1去除RDD1和RDD2交集中的所有元素。
sample
takeSample
5、还有一种特殊的输入与输出分区一对一的算子类型:Cache型。
C