spark action 算子

action算子会触发spark进行运算,用于job划分,一个action算子就是一个job。

带有shuffle的算子用于划分stage(一个分区的数据去往多个分区),例如reduceByKey、

action算子如下:

1、count()  

返回数据集中的元素数。会在结果计算完成后回收到Driver端。

2、take(n)

返回一个包含数据集前n个元素的集合。

3、first()

first=take(1),返回数据集中的第一个元素。

4、foreach

循环遍历数据集中的每个元素,运行相应的逻辑。

5、collect

将计算结果回收到Driver端。

过滤掉出现次数多的记录,并且其余记录按照出现次数降序排序。

val result =data.flatMap(x=>x.split(" ")).map((_,1)).reduceByKey(_+_).sortBy(x=>x._2).persist()
val maxdata
= result.map(x=>x._1).first() result.filter( x=> if (!x._1.contains(maxdata)) {true}else{false}).collect().foreach(println(_))
原文地址:https://www.cnblogs.com/students/p/14231724.html