spark算子詳解------spark算子分類

本文首發自個人博客:https://blog.smile13.com/articles/2018/12/02/1543738098914.html

1.spark算子分類

1.1Transformation算子

Transformation算子不觸發提交作業,完成作業中間處理過程。Transformation算子又分爲如下兩類:
1.Value數據類型的Transformation算子:針對處理的數據項是Value型的數據。
2.Key-Value數據類型的Transformation算子:針對處理的數據項是Key-Value型的數據。

1.2Action算子

Action算子會觸發 SparkContext 提交 Job 作業。

2.spark算子列表

2.1.Value數據類型的Transformation算子 

2.1.1.輸入分區與輸出分區一對一類型的算子

(1)map算子
(2)flatMap算子
(3)mapPartitions算子
(4)mapPartitionsWithIndex算子
(5)glom算子
(6)randomSplit算子

2.1.2.輸入分區與輸出分區多對一類型的算子

(1)union算子
(2)cartesian算子

2.1.3.輸入分區與輸出分區多對多類型的算子

(1)groupBy算子
(2)coalesce算子
(3)repartition算子

2.1.4.輸出分區爲輸入分區子集型的算子

(1)filter算子
(2)distinct算子
(3)intersection算子
(4)subtract算子
(5)sample算子
(6)takeSample算子

2.1.5.Cache型的算子

(1)persist算子
(2)cache算子  

2.2.Key-Value數據類型的Transformation算子 

2.2.1.輸入分區與輸出分區一對一類型的算子

(1)mapValues算子
(2)flatMapValues算子
(3)sortByKey算子
(4)sortBy算子
(5)zip算子
(6)zipPartitions算子
(7)zipWithIndex算子
(8)zipWithUniqueId算子

2.2.2.對單個RDD或兩個RDD聚集的算子

單個RDD聚集
(1)combineByKey算子
(2)reduceByKey算子
(3)partitionBy算子
(4)groupByKey算子
(5)foldByKey算子
(6)reduceByKeylocally算子
 

兩個RDD聚集
(7)Cogroup算子
(8)subtractByKey算子

2.2.3.連接類型的算子

(1)join算子
(2)leftOutJoin算子
(3)rightOutJoin算子

2.3.Action算子

2.3.1.無輸出的算子

(1)foreach算子
(2)foreachPartition算子

2.3.2.輸出到HDFS的算子

(1)saveAsTextFile算子
(2)saveAsObjectFile算子
(3)saveAsHadoopFile算子
(4)saveAsSequenceFile算子
(5)saveAsHadoopDataset算子
(6)saveAsNewAPIHadoopFile算子
(7)saveAsNewAPIHadoopDataset算子

2.3.3.輸出scala集合和數據類型的算子

(1)collect算子
(2)collectAsMap算子
(3)reduceByKeyLocally算子
(4)lookup算子
(5)count算子
(6)top算子
(7)take算子
(8)takeOrdered算子
(9)reduce算子
(10)fold算子
(11)aggregate算子
(12)first算子
(13)countByKey算子
(14)sortBy算子

 

版權聲明:本文爲博主原創文章,轉載請註明出處!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章