第4講-分布式計(jì)算框架_第1頁(yè)
第4講-分布式計(jì)算框架_第2頁(yè)
第4講-分布式計(jì)算框架_第3頁(yè)
第4講-分布式計(jì)算框架_第4頁(yè)
第4講-分布式計(jì)算框架_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余34頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

范穎捷|2018年10

221

2004年10 了設(shè)計(jì)初衷:解決搜索引擎中大規(guī)模網(wǎng)頁(yè)數(shù)據(jù)的并行處 MapReduce的開源實(shí)MapReduce是ApacheHadoop 子項(xiàng)概面向批處理的分一種編程模型:MapReduce程序被分為Map(映射)階段和Reduce(化簡(jiǎn))階思分而治之 特計(jì)算跟著數(shù)據(jù)良好的擴(kuò)展性:計(jì)算能力隨著節(jié)點(diǎn)數(shù)增高容狀適合海量數(shù)據(jù)的離線批處降低了分布式編程的

適用場(chǎng)數(shù)據(jù)統(tǒng)計(jì),如 的PV、UV統(tǒng)搜索引擎構(gòu)建索海量數(shù)據(jù)查復(fù)雜數(shù)據(jù)分析算法實(shí)不適用場(chǎng)流計(jì)-流計(jì)算的輸入數(shù)據(jù)集是動(dòng)態(tài)的,而MapReduceDAG計(jì)-每個(gè)MapReduce作業(yè)的輸出結(jié)果都會(huì)落盤,造成大量磁盤IO,導(dǎo)致性能非常

示例 作業(yè)是客戶端請(qǐng)求執(zhí)行的一個(gè)工作單-包括輸入數(shù)據(jù)、MapReduce程序、配任務(wù)是將作業(yè)分解后得到的細(xì)分工作單Split(切片輸入數(shù)據(jù)被劃分成等長(zhǎng)的小數(shù)據(jù)塊,稱為輸入切片(InputSplit),簡(jiǎn)稱切Split是邏輯概念,僅包含元數(shù)據(jù)信息每個(gè)Split交給一個(gè)Map任務(wù)處理,Split的數(shù)量決定Map任務(wù)的數(shù)Split的劃分方式由程序設(shè)定,Split與HDFSBlock沒有嚴(yán)格的對(duì)應(yīng)關(guān)Split的大小默認(rèn)等于Block大Split越小,負(fù)載越均衡,但集群的開銷越

Map階段(映射由若干Map任務(wù)組成,任務(wù)數(shù)量由Split數(shù)量決輸入:Split切片(key-value),輸出:中間計(jì)算結(jié)果(key-Reduce階段(化簡(jiǎn)輸入:Map階段輸出的中間結(jié)果(key-value),輸出:最終結(jié)果(key-Shuffle階段(洗牌Partition決定了Map任務(wù)輸出的每條數(shù)據(jù)放入哪個(gè)分區(qū),交給哪個(gè)Reduce任務(wù)處Reduce任務(wù)的數(shù)量決定了Partition數(shù)PartitionReduce任務(wù)編號(hào)=“keyhashcodereducetask避免和減少Shuffle是MapReduce程序調(diào)優(yōu)的重

232211133Map階partitionReduce階123

Shuffle詳Map hashcode%reducetasknumber”對(duì)數(shù)據(jù)進(jìn)行分區(qū),分區(qū)內(nèi)再按key排序)-Map任務(wù)結(jié)束前,將多個(gè)臨時(shí)文件合并(Merge)為一個(gè)Map輸出文件,文件內(nèi)數(shù)據(jù)先分區(qū)后排Reduce Shuffle詳

JobTracker/TaskTracker模式(HadoopJobTracker節(jié)點(diǎn)-調(diào)度任務(wù)在TaskTracker上運(yùn)-若任務(wù)失敗,指定新TaskTrackerTaskTracker節(jié)點(diǎn)存在的問-JobTracker存在單點(diǎn)-JobTracker負(fù)載太重(上限4000節(jié)點(diǎn)-JobTracker缺少對(duì)資源的全面管-TaskTracker對(duì)資源的描述過于簡(jiǎn)

提交作

##hadoopjar{jarFile}[mainClass]:-args:查看作##sudo–uyarnapplication-終止作##sudo–uyarnapplication-kill 示例:提交作

作業(yè)診配置參數(shù):yarn.nodemanager.log-

2MapReduce有較大的局限僅支持Map、Reduce兩種語(yǔ)義操執(zhí)行效率低,時(shí)間開銷主要用于大規(guī)模不適合迭代計(jì)算、交互式計(jì)算、實(shí)時(shí)流處理等場(chǎng)計(jì)算框架種類多,選型難,學(xué)習(xí)成本批處理流處理:Storm、交互式計(jì)算:Impala、機(jī)器學(xué)習(xí)在一個(gè)統(tǒng)一框架下,實(shí)現(xiàn)批處理、流處理、交互式計(jì)算、機(jī)器學(xué)

由加州大學(xué)伯克利分校的 開大規(guī)模分布式通Spark 計(jì)算框SparkSQL:結(jié)構(gòu)化數(shù)據(jù)查SparkStreaming:實(shí)時(shí)流處SparkMLib:機(jī)器學(xué)SparkGraphX:圖計(jì)具有高吞吐、低延時(shí)、通用易擴(kuò)展、高容錯(cuò)等特采用Scala語(yǔ)言開提供多種運(yùn)行模

計(jì)算高利用內(nèi)存計(jì)算、Cache緩存機(jī)制,支持迭代計(jì)算和數(shù)據(jù)共享,減少數(shù) 的IO開利用DAG引擎,減少中間計(jì)算結(jié)果寫入HDFS的開利用多線程池模型,減少任務(wù)啟動(dòng)開銷,避免Shuffle中不必要的排序和磁盤IO操通用易適用于批處理、流處理、交互式計(jì)算提供了豐富的開發(fā)API,支持Scala、Java、Python、R

運(yùn)行模式多Standalone模YARN/Mesos模

....

彈性分布式數(shù)據(jù)集(ResilientDistributed-由多個(gè)Partition組 Spark基于RDD進(jìn)行計(jì)

RDD操作Transformation(轉(zhuǎn)換-將Scala集合或Hadoop輸入數(shù)據(jù)構(gòu)造成一個(gè)新-通過已有的RDD產(chǎn)生新Action(動(dòng)作-通過RDD計(jì)算得到一個(gè)值或一組-例如:first、count、collect、foreach、示例:RDD

RDD依賴窄依賴(Narrow寬依賴(Shuffle/WideDependency-例如:groupByKey、reduceByKey、

map,

Narrow

ShuffleJoinwithinputsnotco- 示例valrdd2=rdd1.flatMap(_.split(“\t”))valrdd3=valrdd4=

抽象模 抽象模-一個(gè)Spark程序有一個(gè)Driver,一個(gè)Driver創(chuàng)建一個(gè)SparkContext,程序的main函數(shù)運(yùn)行在Driver-負(fù)責(zé)解析Spark程序、劃分Stage、調(diào)度任務(wù)到Executor上執(zhí)-負(fù)責(zé)加載配置信息,初始化運(yùn)行環(huán)境,創(chuàng)建DAGScheduler和-負(fù)責(zé)執(zhí)行Driver分發(fā)的任務(wù),一個(gè)節(jié)點(diǎn)可以啟動(dòng)多個(gè)Executor,每個(gè)Executor通過多線程運(yùn)行多個(gè)任-Spark運(yùn)行的基本單位,一個(gè)Task負(fù)責(zé)處理若干RDD分區(qū)的計(jì)算邏

Local模單機(jī)運(yùn)行,通常用于測(cè)Spark程序以多線程方式直接運(yùn)行在本Standalone模 管理系統(tǒng),如:YARN、采用Master/Slave架ZooKeeper負(fù)責(zé)MasterHA

YARN模YARN-Client模式:適用于交互和調(diào)YARN-Cluster模式:適用于生產(chǎn)環(huán)

YARN-Cluster模

YARN-Client模

生成邏輯查詢計(jì)

生成物理查詢計(jì)

任務(wù)調(diào)度與執(zhí)

有向無環(huán)圖:一個(gè)有向圖無法從任意頂點(diǎn)出發(fā)經(jīng)過若干條邊回到該Spark程序的內(nèi)部執(zhí)行邏輯可由DAG描述,頂點(diǎn)代表任務(wù),邊代表任

溫馨提示

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

評(píng)論

0/150

提交評(píng)論