重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
這篇文章主要介紹Spark在運(yùn)行轉(zhuǎn)換中如何通過算子對RDD進(jìn)行轉(zhuǎn)換,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有曲江免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
算子運(yùn)行過程
下圖描述了Spark在運(yùn)行轉(zhuǎn)換中通過算子對RDD進(jìn)行轉(zhuǎn)換。 算子是RDD中定義的函數(shù),可以對RDD中的數(shù)據(jù)進(jìn)行轉(zhuǎn)換和操作。
1、輸入:在Spark程序運(yùn)行中,數(shù)據(jù)從外部數(shù)據(jù)空間(如分布式存儲:textFile讀取HDFS等,parallelize方法輸入Scala集合或數(shù)據(jù))輸入Spark,數(shù)據(jù)進(jìn)入Spark運(yùn)行時數(shù)據(jù)空間,轉(zhuǎn)化為Spark中的數(shù)據(jù)塊,通過BlockManager進(jìn)行管理。
2、運(yùn)行:在Spark數(shù)據(jù)輸入形成RDD后便可以通過變換算子,如filter等,對數(shù)據(jù)進(jìn)行操作并將RDD轉(zhuǎn)化為新的RDD,通過Action算子,觸發(fā)Spark提交作業(yè)。 如果數(shù)據(jù)需要復(fù)用,可以通過Cache算子,將數(shù)據(jù)緩存到內(nèi)存。
3、輸出:程序運(yùn)行結(jié)束數(shù)據(jù)會輸出Spark運(yùn)行時空間,存儲到分布式存儲中(如saveAsTextFile輸出到HDFS),或Scala數(shù)據(jù)或集合中(collect輸出到Scala集合,count返回Scala int型數(shù)據(jù))。
算子分類
大致可以分為三大類算子:
1、Value數(shù)據(jù)類型的Transformation算子,這種變換并不觸發(fā)提交作業(yè),針對處理的數(shù)據(jù)項(xiàng)是Value型的數(shù)據(jù)。
2、Key-Value數(shù)據(jù)類型的Transfromation算子,這種變換并不觸發(fā)提交作業(yè),針對處理的數(shù)據(jù)項(xiàng)是Key-Value型的數(shù)據(jù)對。
3、Action算子,這類算子會觸發(fā)SparkContext提交Job作業(yè)。
以上是“Spark在運(yùn)行轉(zhuǎn)換中如何通過算子對RDD進(jìn)行轉(zhuǎn)換”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!