《Hadoop技術(shù)原理》課件-6.分布式計(jì)算框架MapReduce_第1頁(yè)
《Hadoop技術(shù)原理》課件-6.分布式計(jì)算框架MapReduce_第2頁(yè)
《Hadoop技術(shù)原理》課件-6.分布式計(jì)算框架MapReduce_第3頁(yè)
《Hadoop技術(shù)原理》課件-6.分布式計(jì)算框架MapReduce_第4頁(yè)
《Hadoop技術(shù)原理》課件-6.分布式計(jì)算框架MapReduce_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Hadoop技術(shù)原理分布式計(jì)算框架MapReduceMapReduce簡(jiǎn)介01MapReduce簡(jiǎn)介01什么是MapReduceMapReduce是一種簡(jiǎn)化并行計(jì)算的編程模型,用于進(jìn)行大數(shù)據(jù)量的計(jì)算。MapReduce設(shè)計(jì)思想MapReduce采用“分而治之”的思想,把對(duì)大規(guī)模數(shù)據(jù)集的操作,分發(fā)給一個(gè)主節(jié)點(diǎn)管理下的各個(gè)子節(jié)點(diǎn)共同完成,然后整合各個(gè)子節(jié)點(diǎn)的中間結(jié)果,得到最終的計(jì)算結(jié)果。簡(jiǎn)而言之,MapReduce就是“分散任務(wù),匯總結(jié)果”MapReduce簡(jiǎn)介02MapReduce架構(gòu)MapReduce簡(jiǎn)介03JobTrackerJobTracker負(fù)責(zé)接受客戶端提交作業(yè)分配任務(wù)到計(jì)算節(jié)點(diǎn)(TaskTracker)監(jiān)控作業(yè)的運(yùn)行情況,更新作業(yè)狀態(tài),作業(yè)容錯(cuò)處理客戶端可通過(guò)命令行或Web頁(yè)面查看作業(yè)狀態(tài)JobTracker可以和NameNode運(yùn)行在同一個(gè)服務(wù)器上集群規(guī)模較大或是任務(wù)繁重的場(chǎng)景,建議單獨(dú)運(yùn)行JobTrackerMapReduce簡(jiǎn)介04JobTracker任務(wù)分配策略把計(jì)算移動(dòng)到數(shù)據(jù)JobTracker會(huì)與NameNode通信以定位任務(wù)所需數(shù)據(jù)的位置從而更有效的分配任務(wù)執(zhí)行節(jié)點(diǎn)JobTracker不保證一定在數(shù)據(jù)所在節(jié)點(diǎn)處理數(shù)據(jù)取決與任務(wù)節(jié)點(diǎn)的空閑狀態(tài)盡量在一個(gè)機(jī)架MapReduce簡(jiǎn)介05TaskTrackerTaskTracker執(zhí)行JobTracker指令,是任務(wù)運(yùn)行節(jié)點(diǎn)調(diào)用Map和Reduce,以及Shuffle和Sort操作通常和DataNode裝在一起發(fā)送心跳消息給JobTracker向JobTracker匯報(bào)可運(yùn)行任務(wù)數(shù)量每一個(gè)任務(wù)會(huì)生成一個(gè)單獨(dú)的JVM進(jìn)程確保TaskTracker進(jìn)程不會(huì)因?yàn)橛脩舸a而崩潰TaskTracker監(jiān)視這些生成的進(jìn)程,捕獲輸出和退出代碼MapReduce簡(jiǎn)介06MapReduce特點(diǎn)易于編程良好的擴(kuò)展性高容錯(cuò)性擅長(zhǎng)對(duì)PB級(jí)以上海量數(shù)據(jù)進(jìn)行離線處理MapReduce不適用場(chǎng)景實(shí)時(shí)計(jì)算MapReduce無(wú)法像MySQL一樣,在毫秒或者秒級(jí)內(nèi)返回結(jié)果。流式計(jì)算流式計(jì)算的輸入數(shù)據(jù)是動(dòng)態(tài)的,而MapReduce的輸入數(shù)據(jù)集是靜態(tài)的,不能動(dòng)態(tài)變化。DAG(有向圖)計(jì)算多個(gè)應(yīng)用程序存在依賴(lài)關(guān)系,后一個(gè)應(yīng)用程序的輸入為前一個(gè)的輸出。在這種情況下,MapReduce并不是不能做,而是使用后,每個(gè)MapReduce作業(yè)的輸出結(jié)果都會(huì)寫(xiě)入到磁盤(pán),會(huì)造成大量的磁盤(pán)IO,降低使用性能。MapReduce編程模型02MapReduce編程模型01MapReduce編程模型概論從MapReduce自身的命名特點(diǎn)可以看出,MapReduce由兩個(gè)階段組成:Map和Reduce。用戶只需要編寫(xiě)map()和reduce()兩個(gè)函數(shù),即可完成分布式程序的設(shè)計(jì)。輸入一個(gè)大文件,通過(guò)Split之后,將其分為多個(gè)分片每個(gè)文件分片由單獨(dú)的機(jī)器去處理,這就是Map方法將各個(gè)機(jī)器計(jì)算的結(jié)果進(jìn)行匯總并得到最終結(jié)果,這就是Reduce方法MapReduce編程模型02MapReduce編程模型概論MapReduce編程模型03MapReduce編程模型MapReduce編程模型04MapReduce編程模型要點(diǎn)任務(wù)Job=Map+ReduceMap的輸出是Reduce的輸入所有的輸入和輸出都是<Key,Value>形式

<k1,v1>是Map的輸入,<k2,v2>是Map的輸出

<k3,v3>是Reduce的輸入,<k4,v4>是Reduce的輸出k2=k3,v3是一個(gè)集合,v3的元素就是v2所有的輸入和輸出的數(shù)據(jù)類(lèi)型必須是hadoop的數(shù)據(jù)類(lèi)型(實(shí)現(xiàn)Writable接口)

Integer->IntWritableLong->LongWritableString->Textnull->NullWritableMapReduce處理的數(shù)據(jù)都是HDFS的數(shù)據(jù)(或HBase)MapReduce編程模型05MapReduce編程模型工作流程問(wèn)題稱(chēng)為作業(yè)(Job)作業(yè)分解為任務(wù)(Task)有兩種任務(wù):Map(映射)把輸入的鍵/值對(duì)轉(zhuǎn)換成一組中間結(jié)果的鍵/值對(duì)Reduce(歸約)把Map任務(wù)產(chǎn)生的一組具有相同鍵的中間結(jié)果根據(jù)邏輯轉(zhuǎn)換生成較小的最終結(jié)果MapReduce編程模型06MapReduce編程模型工作流程我們假設(shè)你手中有一份數(shù)據(jù)文件,是在過(guò)去24小時(shí)中某個(gè)大數(shù)據(jù)博客上出現(xiàn)的所有條目,我們需要統(tǒng)計(jì)Hadoop,Big.Data和Greenlur這三個(gè)單詞分別出現(xiàn)了幾次。首先,這份文件會(huì)在HDFS中被拆分。接下來(lái);所有參與到的節(jié)點(diǎn)對(duì)應(yīng)的本地?cái)?shù)據(jù)集都要進(jìn)行一遍映射計(jì)算,分析關(guān)鍵詞出現(xiàn)了幾次。Map階段結(jié)束之后,每個(gè)節(jié)點(diǎn)輸出鍵值對(duì)列表。在下圖中,這些鍵值對(duì)列表中都包含三個(gè)條目。例如,左邊標(biāo)號(hào)為1的盒子(節(jié)點(diǎn))輸出的鍵值對(duì)是<Bigdata,7><GreenPlum:5><Hadoop,4>MapReduce編程模型07MapReduce編程模型工作流程映射完成之后,輸出值會(huì)被傳輸?shù)狡渌?jié)點(diǎn)作為Reduce的輸人。在開(kāi)始Reduce之前;鍵值對(duì)會(huì)被重新整理并打亂次序。在歸約階段,上述子條目相加得到每個(gè)單詞的單條目。在下圖中,我們可以看到Reduce的輸出:big.data加起來(lái)是19次,GreenPlum加起來(lái)是17,Hadoop加起來(lái)是19MapReduce編程模型08MapReduce編程模型工作流程在Hadoop中;這一整套過(guò)程就叫做一個(gè)“任務(wù)”(job),任務(wù)追蹤器(Jobtracker)負(fù)責(zé)將任務(wù)分解為不同的作業(yè),并將這些作業(yè)調(diào)度到

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論