總目錄:http://www.itdecent.cn/p/e406a9bc93a9
Hadoop - 子目錄:http://www.itdecent.cn/p/9428e443b7fd
算子的分類
從大方向來(lái)說(shuō),算子有兩種類型,對(duì)應(yīng)著sparkRDD的兩種操作--轉(zhuǎn)換類型操作和動(dòng)作類型操作。也就是:
Transformation
轉(zhuǎn)換類型操作,這種變換并不觸發(fā)提交作業(yè),完成作業(yè)中間過(guò)程處理。
Transformation算子是延遲計(jì)算的,也就是說(shuō)從一個(gè)RDD 轉(zhuǎn)換生成另一個(gè) RDD 的轉(zhuǎn)換操作不是馬上執(zhí)行,需要等到有 Action 操作的時(shí)候才會(huì)真正觸發(fā)運(yùn)算。Action
動(dòng)作類型操作,這類算子會(huì)觸發(fā) SparkContext 提交 Job 作業(yè)。
Action 算子會(huì)觸發(fā) Spark 提交作業(yè),并將數(shù)據(jù)輸出 Spark系統(tǒng)。
如果在細(xì)致劃分一下,轉(zhuǎn)換類型算子由兩種類型:針對(duì)于value數(shù)據(jù)的Transformation算子和針對(duì)K-V數(shù)據(jù)的Transformation算子。
Value數(shù)據(jù)類型的Transformation算子
輸入分區(qū)與輸出分區(qū)一對(duì)一型
- map算子
- flatMap算子
- mapPartitions算子
- glom算子
輸入分區(qū)與輸出分區(qū)多對(duì)一型
- union算子
- cartesian算子
輸入分區(qū)與輸出分區(qū)多對(duì)多型
- grouBy算子
輸出分區(qū)為輸入分區(qū)子集型
- filter算子
- distinct算子
- subtract算子
- sample算子
- takeSample算子
Cache型
- cache算子
- persist算子
Key-Value數(shù)據(jù)類型的Transfromation算子
輸入分區(qū)與輸出分區(qū)一對(duì)一
- mapValues算子
對(duì)單個(gè)RDD或兩個(gè)RDD聚集
單個(gè)RDD聚集
- combineByKey算子
- reduceByKey算子
- partitionBy算子
兩個(gè)RDD聚集
- Cogroup算子
連接
- join算子
- leftOutJoin和 rightOutJoin算子
Action算子
無(wú)輸出
- foreach算子
HDFS
- saveAsTextFile算子
- saveAsObjectFile算子
聚合算子
- collect算子
- collectAsMap算子
- reduceByKeyLocally算子
- lookup算子
- count算子
- top算子
- reduce算子
- fold算子
- aggregate算子