Spark算子分为两类:Transformation(转换算子)和Action行动算子
Transformation算子,用来将RDD进行转化,构建RDD的血缘关系。
Action算子,它是用来触发RDD的计算,得到RDD的相关计算结果或者将RDD保存在文件系统中。
Transformation常用算子:
- map:将所有的元素取出,经过func函数转换成一个新的RDD
- filter:返回一个新的RDD,该RDD经过func函数计算,返回true的元素
- flatMap:先经过map函数,再进行flat压平
- union:合并,将两个RDD中的数据进行合并,返回一个新的RDD(取并集)
- intersection:合并,(取交集)
- distinct:去重,对原来的RDD进行去重,返回新的RDD
- partitionBy:分区,有分区可以重新分(可以做一些数据的合并,还有数据倾斜的问题)
- sortByKey:按照K进行排序
- sortBy:指定某一个元素进行排序
Action常用算子:
- reduce:通过func函数聚集RDD中所有元素,必须是可交换,可并联的
- collect:将RDD中的元素打印出来
- count:统计一个多少条数据
- first:取出RDD中第一个元素
- take(N):取出RDD中前N个值
- top(N):排序取前N,从大到小
- takeOedered(N):排序取出前N个值,从小到大