spark-使用總結(jié)-大數(shù)據(jù)基礎(chǔ)入門-創(chuàng)新互聯(lián)

1、partition數(shù)目

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、維西網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、維西網(wǎng)絡(luò)營(yíng)銷、維西企業(yè)策劃、維西品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供維西建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

spark的輸入可能以多個(gè)文件的形式存儲(chǔ)在HDFS上,每個(gè)File都包含了很多塊,稱為Block。

當(dāng)Spark讀取這些文件作為輸入時(shí),會(huì)根據(jù)具體數(shù)據(jù)格式對(duì)應(yīng)的InputFormat進(jìn)行解析,一般是將若干個(gè)Block合并成一個(gè)輸入分片,稱為InputSplit,注意InputSplit不能跨越文件。
隨后將為這些輸入分片生成具體的Task。InputSplit與Task是一一對(duì)應(yīng)的關(guān)系。
隨后這些具體的Task每個(gè)都會(huì)被分配到集群上的某個(gè)節(jié)點(diǎn)的某個(gè)Executor去執(zhí)行。
每個(gè)節(jié)點(diǎn)可以起一個(gè)或多個(gè)Executor。
每個(gè)Executor由若干core組成,每個(gè)Executor的每個(gè)core一次只能執(zhí)行一個(gè)Task。
每個(gè)Task執(zhí)行的結(jié)果就是生成了目標(biāo)RDD的一個(gè)partiton。
注意: 這里的core是虛擬的core而不是機(jī)器的物理CPU核,可以理解為就是Executor的一個(gè)工作線程。

而 Task被執(zhí)行的并發(fā)度 = Executor數(shù)目 * 每個(gè)Executor核數(shù)。

至于partition的數(shù)目:

對(duì)于數(shù)據(jù)讀入階段,例如sc.textFile,輸入文件被劃分為多少InputSplit就會(huì)需要多少初始Task。
在Map階段partition數(shù)目保持不變。
在Reduce階段,RDD的聚合會(huì)觸發(fā)shuffle操作,聚合后的RDD的partition數(shù)目跟具體操作有關(guān),例如repartition操作會(huì)聚合成指定分區(qū)數(shù),還有一些算子是可配置的。
2、spark部署模式的對(duì)比

這篇博客中對(duì)三種部署模式做了對(duì)比,請(qǐng)參考部署模式對(duì)比:總結(jié)如下:

mesos似乎是Spark更好的選擇,也是被官方推薦的
但如果你同時(shí)運(yùn)行hadoop和Spark,從兼容性上考慮,Yarn似乎是更好的選擇,畢竟是親生的。Spark on Yarn運(yùn)行的也不錯(cuò)。
如果你不僅運(yùn)行了hadoop,spark。還在資源管理上運(yùn)行了docker,Mesos似乎更加通用。
standalone小規(guī)模計(jì)算集群,似乎更適合!
對(duì)于yarn模式下的client和cluster對(duì)比,請(qǐng)參考client和cluster的對(duì)比:
理解YARN-Client和YARN-Cluster深層次的區(qū)別之前先清楚一個(gè)概念:Application Master。在YARN中,每個(gè)Application實(shí)例都有一個(gè)ApplicationMaster進(jìn)程,它是Application啟動(dòng)的第一個(gè)容器。它負(fù)責(zé)和ResourceManager打交道并請(qǐng)求資源,獲取資源之后告訴NodeManager為其啟動(dòng)Container。從深層次的含義講YARN-Cluster和YARN-Client模式的區(qū)別其實(shí)就是ApplicationMaster進(jìn)程的區(qū)別
YARN-Cluster模式下,Driver運(yùn)行在AM(Application Master)中,它負(fù)責(zé)向YARN申請(qǐng)資源,并監(jiān)督作業(yè)的運(yùn)行狀況。當(dāng)用戶提交了作業(yè)之后,就可以關(guān)掉Client,作業(yè)會(huì)繼續(xù)在YARN上運(yùn)行,因而YARN-Cluster模式不適合運(yùn)行交互類型的作業(yè)
YARN-Client模式下,Application Master僅僅向YARN請(qǐng)求Executor,Client會(huì)和請(qǐng)求的Container通信來調(diào)度他們工作,也就是說Client不能離開
(1)YarnCluster的Driver是在集群的某一臺(tái)NM上,但是Yarn-Client就是在RM的機(jī)器上;
(2)而Driver會(huì)和Executors進(jìn)行通信,所以Yarn_cluster在提交App之后可以關(guān)閉Client,而Yarn-Client不可以;

(3)Yarn-Cluster適合生產(chǎn)環(huán)境,Yarn-Client適合交互和調(diào)試。

3、spark運(yùn)行原理

spark應(yīng)用程序進(jìn)行各種transformation的計(jì)算,最后通過action觸發(fā)job。提交之后,構(gòu)建SparkContext,通過sparkContext根據(jù)RDD的依賴關(guān)系構(gòu)建DAG圖,DAG圖提交給DAGScheduler進(jìn)行解析,解析時(shí)是以shuffle為邊界,反向解析,構(gòu)建stage,stage之間也有依賴關(guān)系,這個(gè)過程就是對(duì)DAG圖進(jìn)行解析劃分stage,并且計(jì)算出各個(gè)stage之間的依賴關(guān)系。stage以stageSet方式提交給TaskScheduler,然后將一個(gè)個(gè)TaskSet提交給底層調(diào)度器,在spark中是提交給taskScheduler處理,生成TaskSet manager,最后提交給executor進(jìn)行計(jì)算,executor多線程計(jì)算,完成task任務(wù)后,將完成信息提交給schedulerBackend,由它將任務(wù)完成的信息提交給TaskScheduler。TaskScheduler反饋信息給TaskSetManager,刪除該task任務(wù),執(zhí)行下一個(gè)任務(wù)。同時(shí)TaskScheduler將完成的結(jié)果插入到成功隊(duì)列里,加入之后返回加入成功的信息。TaskScheduler將任務(wù)處理成功的信息傳給TaskSet Manager。全部任務(wù)完成后TaskSet Manager將結(jié)果反饋給DAGScheduler。如果屬于resultTask,交給JobListener。如果不屬于resultTask,保存結(jié)果。全部運(yùn)行完之后寫入數(shù)據(jù)。

很多人都知道我有大數(shù)據(jù)培訓(xùn)資料,都天真的以為我有全套的大數(shù)據(jù)開發(fā)、hadoop、spark等視頻學(xué)習(xí)資料。我想說你們是對(duì)的,我的確有大數(shù)據(jù)開發(fā)、hadoop、spark的全套視頻資料。
如果你對(duì)大數(shù)據(jù)開發(fā)感興趣可以加口群領(lǐng)取免費(fèi)學(xué)習(xí)資料: 763835121

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:spark-使用總結(jié)-大數(shù)據(jù)基礎(chǔ)入門-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article32/deiisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)