ITPub博客

首页 > IT职业 > IT图书 > Spark 算子- Action

Spark 算子- Action

IT图书 作者:esum 时间:2021-09-09 10:15:49 0 删除 编辑

Action算子

无输出

foreach
对RDD每个元素执行函数f,不反悔RDD和Array,而是返回Unit

图片描述

foreach


输出到HDFS

saveAsTextFile
数据输出,存储到HDFS
将RDD中的元素映射到(Null,x.toString),然后写入HDFS

图片描述

saveAsTextFile


saveAsObjectFile
将分区中的每10个元素组成一个Array,然后将Array序列化,映射为(Null,BytesWritable(Y))写入HDFS的SequenceFile格式

图片描述

saveAsObjectFile


Scala集合或数据

collect
相当于toArray,将分布RDD转换为单机Array

图片描述

collect


collectAsMap
对(K,V)型的RDD数据返回一个单机HashMap,对于重复Key,后面的元素覆盖前面的

图片描述

collectAsMap


reduceByKeyLocally
先reduce,再collectAsMap

lookup
对(K,V)型的RDD操作,返回指定key对应的元素形成Seq
如果RDD包含分区器,只处理K所在的分区,如果不存在分区器,对全部RDD元素进行扫描

图片描述

lookup


count
返回RDD元素个数

top、take
返回最大、最小的K个元素

takeOrdered
返回最小的K个元素,返回数组中保持元素顺序

first
相当于top(1)

reduce
对两个元素K,V进行reduce函数操作,将结果和迭代器取出的下一个元素进行reduce操作,直到遍历完所有元素
f(A,B)=>(A.1+"@"+B.1, A._2+B._2)

图片描述

reduce


fold
与reduce原理相同
相当于每个reduce时,迭代器取的一个元素是zeroValue
fold(("V0", 2))((A, B)=>(A.1+"@"+B.1, A._2+B._2))

图片描述

fold


aggregate
将每个分区里面的元素进行聚合,然后用combine函数将每个分区的结果和初始值(zeroValue)进行combine操作。这个函数最终返回的类型不需要和RDD中元素类型一致



作者:Alex90
链接:https://www.jianshu.com/p/2fdbb890e4e4


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1679/viewspace-2819254/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Redis入门(四)
请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    80
  • 访问量
    807