這篇文章將為大家詳細講解有關如何解析Spark運行模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供龍海網(wǎng)站建設、龍海做網(wǎng)站、龍海網(wǎng)站設計、龍海網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、龍海企業(yè)網(wǎng)站模板建站服務,十年龍海做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
1.1 簡介
Spark是一種基于內(nèi)存的快遞、通用、可擴展的大數(shù)據(jù)分析引擎。
1.2 spark內(nèi)置模塊:
1.3 Spark的兩個重要角色:
Driver(驅(qū)動器):負責管理調(diào)度任務
Executor(執(zhí)行器):負責執(zhí)行具體的任務
Local模式:運行在一臺機器上,通常是練手或者測試環(huán)境。
Standalone:構建一個基于 Mster+Slaves 的資源調(diào)度集群,Spark 任務提交給 Master運行。是Spark自身的一個調(diào)度系統(tǒng),不依賴Yarn等其他框架。
Yarn: Spark 客戶端直接連接 Yarn,不需要額外構建Spark集群。有 yarn-client 和yarn-cluster 兩種模式,主要區(qū)別在于:Driver 程序的運行節(jié)點。
yarn-client:Driver程序運行在客戶端,適用于交互、調(diào)試,希望立即看到app的輸出。
yarn-cluster:Driver程序運行在由RM(ResourceManager)啟動的AP(APPMaster)適用于生產(chǎn)環(huán)境。
Mesos:國內(nèi)大環(huán)境比較少用。
幾種模式的對比:
3.1 Spark-Wordcount基本思路
文件加載load:加載文件
扁平化:將句子分割成一個一個的單詞;
分組:將相同的單詞放到一個組里面;
聚合:統(tǒng)計每個組里成員的數(shù)量;
(上述過程是左圖的簡化過程,不太準確,按照下面的步驟來記憶;右圖才是準確的過程)
3.2 Wordcount代碼實現(xiàn)
相關方法說明:
TextFile:用于加載文件;
FlatMap:用于扁平化處理,單詞切分;
Map:將每一個單詞映射為元祖;
ReduceByKey:按照key進行分組聚合;
3.3 Wordcount過程圖示
4.1 概述
Spark客戶端直接連接Yarn,不需要額外構建Spark集群。有yarn-client和yarn-cluster兩種模式,主要區(qū)別在于:Driver程序的運行節(jié)點。
yarn-client:Driver程序運行在客戶端,適用于交互、調(diào)試,希望立即看到app的輸出
yarn-cluster:Driver程序運行在由RM(ResourceManager)啟動的AP(APPMaster)適用于生產(chǎn)環(huán)境。
4.2 Yarn運行模式(重點)
要清晰知道每一步的過程。
兩張圖結合起來一起看
就是只用spark自己的東西,不用Yarn等其他的框架。
5.1 概述
構建一個由Master+Slave構成的Spark集群,Spark運行在集群中。
5.2 Standalone模式
Master相當于Yarn中的RM;
Worker相當于Yarn中的NM;
關于如何解析Spark運行模式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。