Spark 算子- Action

Action算子

無輸出

foreach
對RDD每個元素執(zhí)行函數(shù)f,不反悔RDD和Array,而是返回Unit

foreach

輸出到HDFS

saveAsTextFile
數(shù)據(jù)輸出,存儲到HDFS
將RDD中的元素映射到(Null,x.toString),然后寫入HDFS

saveAsTextFile

saveAsObjectFile
將分區(qū)中的每10個元素組成一個Array,然后將Array序列化,映射為(Null,BytesWritable(Y))寫入HDFS的SequenceFile格式

saveAsObjectFile

Scala集合或數(shù)據(jù)

collect
相當于toArray,將分布RDD轉換為單機Array

collect

collectAsMap
對(K,V)型的RDD數(shù)據(jù)返回一個單機HashMap,對于重復Key,后面的元素覆蓋前面的

collectAsMap

reduceByKeyLocally
先reduce,再collectAsMap

lookup
對(K,V)型的RDD操作,返回指定key對應的元素形成Seq
如果RDD包含分區(qū)器,只處理K所在的分區(qū),如果不存在分區(qū)器,對全部RDD元素進行掃描

lookup

count
返回RDD元素個數(shù)

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

takeOrdered
返回最小的K個元素,返回數(shù)組中保持元素順序

first
相當于top(1)

reduce
對兩個元素K,V進行reduce函數(shù)操作,將結果和迭代器取出的下一個元素進行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
將每個分區(qū)里面的元素進行聚合,然后用combine函數(shù)將每個分區(qū)的結果和初始值(zeroValue)進行combine操作。這個函數(shù)最終返回的類型不需要和RDD中元素類型一致

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容