大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹_第1頁(yè)
大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹_第2頁(yè)
大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹_第3頁(yè)
大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹_第4頁(yè)
大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大數(shù)據(jù)生態(tài)系統(tǒng)之分布式計(jì)算框架介紹MapReduce概述起源Google MapReduce論文初衷是解決搜索引擎中大規(guī)模網(wǎng)頁(yè)數(shù)據(jù)的并行化處理MR是什么分布式計(jì)算框架分而治之的思想MR特點(diǎn)自動(dòng)化并行和分布式計(jì)算計(jì)算能力隨著節(jié)點(diǎn)數(shù)增加近似線(xiàn)性遞增出錯(cuò)容忍I/O調(diào)度(計(jì)算跟著數(shù)據(jù)走)狀態(tài)監(jiān)控引例-WordCount詞頻統(tǒng)計(jì)有非常多的文本文件,包含非常多的單詞,GB-TB級(jí)統(tǒng)計(jì)每個(gè)單詞出現(xiàn)的次數(shù)解決方法寫(xiě)個(gè)小程序,按順序統(tǒng)計(jì)所有單詞詞頻寫(xiě)個(gè)多線(xiàn)程程序,并發(fā)遍歷所有文件把方法1的程序部署到N臺(tái)機(jī)器上,把文件分成N份,每臺(tái)機(jī)器統(tǒng)計(jì)一份文件,最后再統(tǒng)計(jì)使用MapReduce框架統(tǒng)計(jì)通過(guò)map函數(shù)和redu

2、ce函數(shù)統(tǒng)計(jì)基本概念-job和task作業(yè)job是客戶(hù)端要求執(zhí)行的一個(gè)工作單元輸入數(shù)據(jù)、MapReduce程序、配置信息任務(wù)task是MapReduce將作業(yè)拆成的小單元map任務(wù)和reduce任務(wù)Job Tracker節(jié)點(diǎn)(master)調(diào)度task在Task Tracker上運(yùn)行,協(xié)調(diào)所有作業(yè)運(yùn)行如果一個(gè)task失敗,Job Tracker指定一個(gè)Task Tracker重新開(kāi)始Task Tracker節(jié)點(diǎn)(worker)執(zhí)行任務(wù),發(fā)送進(jìn)度報(bào)告基本概念-分片split分片的定義MapReduce把輸入的數(shù)據(jù)劃分成等長(zhǎng)的小數(shù)據(jù)塊,稱(chēng)為輸入分片input split,簡(jiǎn)稱(chēng)分片分片大小分片越小,

3、負(fù)載越平衡異構(gòu)時(shí)根據(jù)計(jì)算機(jī)性能分配任務(wù)個(gè)數(shù)失敗重啟更加平衡分片越小,框架開(kāi)銷(xiāo)越大每個(gè)分片一個(gè)map任務(wù)管理分配的總時(shí)間和構(gòu)建map任務(wù)時(shí)間變大默認(rèn)HDFS塊大小,128MB計(jì)算數(shù)據(jù)本地化在本地存有HDFS數(shù)據(jù)的節(jié)點(diǎn)上運(yùn)行map任務(wù)基本概念-Map&ReduceMap階段將split數(shù)據(jù)以鍵值對(duì)形式輸出Reduce階段按照邏輯對(duì)每個(gè)map相應(yīng)partition的鍵值做合并處理Shuffle階段將數(shù)據(jù)從Map傳到Reduce的過(guò)程MapReduce過(guò)程split1split2split3split4HDFSsplitmapmapmapmapmap123123123123spillsortsorts

4、ortreducereducereducepart1part2part3HDFSMap階段Reduce階段copysortreduceShuffle階段MapReduce過(guò)程一個(gè)split(分片)起一個(gè)map任務(wù)通常為HDFS的一個(gè)block大小計(jì)算跟著數(shù)據(jù)走map輸出的記錄由一個(gè)個(gè)鍵值對(duì)構(gòu)成,分區(qū)排序?qū)懭氡镜卮疟P(pán)map數(shù)據(jù)到reduce過(guò)程(shuffle)中,同一個(gè)key的所有value會(huì)發(fā)到同一個(gè)reducereduce接受到的每個(gè)key包含一組value,將value合并然后寫(xiě)到hdfs上MR任務(wù)監(jiān)控和診斷任務(wù)提交任務(wù)查看任務(wù)終止hadoop jar jarFile mainClass

5、 argsjarFIle: MapReduce運(yùn)行程序的jar包mainClass: jar包中main函數(shù)的類(lèi)名args: 程序調(diào)用需要的參數(shù),比如輸入輸出路徑sudo u yarn application -listsudo u yarn application kill application_idMR任務(wù)監(jiān)控和診斷application id: application_1462786145119_0002web監(jiān)控地址: /AM_IP:8088/proxy/applicationId/MR任務(wù)監(jiān)控和診斷web監(jiān)控地址: /AM_IP:8088/proxy/applicationId/S

6、park概述由Berkeley實(shí)驗(yàn)室開(kāi)發(fā)一種新的基于MapReduce模型的分布式計(jì)算引擎解決MapReduce實(shí)現(xiàn)的一些弱點(diǎn)難以支持復(fù)雜應(yīng)用場(chǎng)景,如機(jī)器學(xué)習(xí)、流式計(jì)算、圖計(jì)算等迭代式計(jì)算的效率低下iter. 1iter. 2. . .InputHDFSreadHDFSwriteHDFSreadHDFSwriteiter. 1iter. 2. . .Input優(yōu)勢(shì)Spark優(yōu)勢(shì)基于內(nèi)存計(jì)算(RDD)基于DAG優(yōu)化任務(wù)流程(延遲計(jì)算)易于部署,更低的框架開(kāi)銷(xiāo)豐富的API支持,如Scala、Java、PythonSpark適用場(chǎng)景機(jī)器學(xué)習(xí)和圖應(yīng)用中常用的迭代算法(每一步對(duì)數(shù)據(jù)執(zhí)行相似的函數(shù))交互式

7、數(shù)據(jù)挖掘工具(用戶(hù)反復(fù)查詢(xún)一個(gè)數(shù)據(jù)子集)Spark on YARNResource ManagerNodeManagerExecutorExecutorApp1SparkContextApplication MasterJob1Job2NodeManagerExecutorExecutorNodeManagerExecutorExecutorNodeManagerExecutorExecutorApp2SparkContextApplication MasterJob3Job4Spark on YARNSparkContextSpark應(yīng)用的主入口在YARN中為Application Mast

8、er角色負(fù)者該應(yīng)用的任務(wù)調(diào)度Executor應(yīng)用程序的任務(wù)容器,任務(wù)在Executor內(nèi)部運(yùn)行基本概念RDD:彈性分布式數(shù)據(jù)集,spark計(jì)算框架使用的數(shù)據(jù)格式DAG:有向無(wú)環(huán)圖,spark的作業(yè)調(diào)度策略RDDRDD:彈性分布式數(shù)據(jù)集它是一種數(shù)據(jù)的描述方式,并不真實(shí)存在它對(duì)應(yīng)用透明,應(yīng)用只需要通過(guò)RDD的操作實(shí)現(xiàn)業(yè)務(wù)發(fā)生錯(cuò)誤時(shí)依賴(lài)血緣關(guān)系可以自動(dòng)重構(gòu)(主要解決容錯(cuò)問(wèn)題)DAG有向無(wú)環(huán)圖一個(gè)有向圖無(wú)法從任意頂點(diǎn)出發(fā)經(jīng)過(guò)若干條邊回到該點(diǎn),則這個(gè)圖是一個(gè)有向無(wú)環(huán)圖受制于某些任務(wù)必須比另一些任務(wù)較早執(zhí)行的限制,必須排序?yàn)橐粋€(gè)隊(duì)列的任務(wù)集合,可以由一個(gè)DAG圖呈現(xiàn)每個(gè)頂點(diǎn)表示一個(gè)任務(wù)每條邊表示一種限制約束Spark任務(wù)可以用DAG表示DAG Scheduler DAG Scheduler 輸入:RDD操作依賴(lài)圖輸出:RDD分片的操作依賴(lài),并劃分操作Stage主要操作將任務(wù)組織成操作Stage,有Shue操作就會(huì)生成一個(gè)Stage將Stage中包含的Task交給底層TaskScheduler來(lái)調(diào)度 如果一個(gè)Stage的輸出丟失或失敗,可以重新調(diào)度這個(gè)Stage來(lái)運(yùn)行 Spark任務(wù)調(diào)度器HadoopRDDShuffledRDDHadoopRDDMapPartitionsRDDFilteredRDDCoGroupedRDDShuffleD

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論