action算子
会触发SparkContext提交Job作业,决定一个application中有多少个job
count:统计RDD共有多少行,并返回最终结果。
take(N):取出RDD的前N个元素
collect:回收算子,会将结果回收到Driver端,需要注意的是,数据量较大时,可能会在Driver端造成OOM。
foreach:遍历RDD中的每一个元素
saveAsTextFile:将DataSet中的元素以文本的形式写入本地或者HDFS系统中。
transaction算子
属于懒执行。
map:通过自定义的函数,映射转变为一个新的元素,作用域为RDD内所有元素。处理数据为一对一。
mapPartitions:通过函数获取到每个分区,并通过对分区内的所有元素进行操作。作用域为分区。相对于map,性能较高。
flatMap:通过自定义函数,可以将该RDD中一个集合中的元素打散,生成多个元素进行处理。处理数据为一对多。
filter:对元素经行过滤操作,对于满足函数要求的元素保留在RDD中,不满足的过滤掉。
sortBy:该函数实现依赖于sortByKey。相当于map+sortBykey
sortByKey:作用于<k, v>类型的RDD,并对k进行排序
reduceByKey:可以用于对RDD中的键值进行分组,会进行map端的聚合操作。对每个键的所有值进行归约操作,返回的是<k,reduce_v>类型的