1. 程式人生 > >spark運算元詳解------spark運算元分類

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)first運算元
(2)count運算元
(3)reduce運算元
(4)collect運算元
(5)take運算元
(6)top運算元
(7)takeOrdered運算元
(8)aggregate運算元
(9)fold運算元
(10)lookup運算元
(11)countByKey運算元

 

版權宣告:本文為博主原創文章,轉載請註明出處!