




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、技術(shù)創(chuàng)新,變革未來MapReduce技術(shù)深入理解內(nèi)容MapReduce 編程模型MapReduce內(nèi)部邏輯MapReduce輸入格式 MapReduce輸出格式MapReduce1運行機(jī)制MapReduce 編程模型(1)以WordCount為例,很多MR程序都可以套用 WordCount的思路,如電商網(wǎng)站中統(tǒng)計最流行的N 個搜索詞,幫助優(yōu)化搜索詞提示MapReduce 編程模型(2)map和reduce函數(shù)遵循如下常規(guī)格式:map 函數(shù)將每個單詞轉(zhuǎn)化為key/value對輸出,這里key為 每個單詞,value為詞頻1。(k2,v2)是 map 輸出的key/value 中間結(jié)果對。redu
2、ce 將相同單詞的所有詞頻進(jìn)行合并,比如將單詞k2,詞頻為list(v2),合并為(k3,v3)。reduce 合并完之后,最 終輸出一系列(k3,v3)鍵值對MapReduce內(nèi)部邏輯(1)MapReduce內(nèi)部邏輯(2)Split:HDFS 中的數(shù)據(jù)以 Split 方式作為 MapReduce 的 輸入Block 是 HDFS 術(shù)語,Split 是 MapReduce 術(shù)語通常1個 Split 對應(yīng)1個 block,也可能對應(yīng)多個block,具 體是由 InputFormat 和壓縮格式?jīng)Q定的默認(rèn)情況下,使用的是 TextInputFormat,這時1個Split對 應(yīng)1個block,上圖
3、4個Split對應(yīng)4個BlockMapper解析出的數(shù)據(jù)輸出到本地磁盤上MapReduce內(nèi)部邏輯(3)Map階段由一批同時運行的Map Task 組成,每個 Map Task由3個部分組成:InputFormat:對輸入數(shù)據(jù)格式進(jìn)行解析,默認(rèn)為TextInputFormat,key代表每行偏移量,value代表每行數(shù) 據(jù)內(nèi)容。Mapper:輸入數(shù)據(jù)處理Partitioner:數(shù)據(jù)分組, Mapper 的輸出key會經(jīng)過 Partitioner 分組選擇不同的Reduce。默認(rèn)Partitioner 會對 map 輸出的key進(jìn)行hash取模,比如有6個Reduce Task, 它就是模(mo
4、d)6,如果key的hash值為0,就選擇第0個 Reduce Task。這樣不同的map 對相同key,它的 hash 值 取模是一樣的MapReduce內(nèi)部邏輯(4)Reduce 階段由一批同時運行的 Reduce Task 組成,每個Reduce Task由4個部分組成:Shuffle: Reduce Task 遠(yuǎn)程拷貝每個 map 處理的結(jié)果,從每個 map 中讀取一部分結(jié)果,每個 Reduce Task 拷貝哪 些數(shù)據(jù),是由 Partitioner 決定的Sort:讀取完數(shù)據(jù)后,會按照key排序,相同的key被分到 一組Reducer:數(shù)據(jù)處理,以WordCount為例,對相同的ke
5、y計詞頻數(shù)OutputFormat:數(shù)據(jù)輸出格式, Reducer 的結(jié)果將按照 OutputFormat 格式輸出,默認(rèn)為 TextOutputFormat ,以 WordCount為例,這里的key為單詞,value為詞頻數(shù)MapReduce 內(nèi)部邏輯(5)緩沖區(qū)默認(rèn)為100M,由io.sort.mb屬性控制緩沖區(qū)快要溢出時(默認(rèn)為緩沖區(qū)大小的80%,由 io.sort.spill.percent屬性控制),寫磁盤,最后合并, reduce端也一樣,reduce端拿到的map端數(shù)據(jù)是按key排序MapReduce輸入格式MR輸入格式FileInputFormat所有使用文件作為數(shù)據(jù)源的 I
6、nputFormat 的基類作用是設(shè)置作業(yè)的輸入文件位置FileInputFormat 提供了四種靜態(tài)方法來設(shè)定 Job 的輸入路徑MR輸入格式TextInputFormat默認(rèn)的 InputFormat鍵是存儲該行在Block中的字節(jié)偏移量值是這行的內(nèi)容,不包括任何行終止符MR輸入格式KeyValueTextInputFormat每一行被分隔符(缺省是t)分割為key和valuekey和value都是Text類型通 過 mapreduce.input.keyvaluelinere cordreader.key.value.separator設(shè)定分隔符MR輸入格式NLineInputForma
7、t每個Mapper 收到固定行數(shù)的輸入鍵是存儲該行在Block中的字節(jié)偏移量值是這行的內(nèi)容,不包括任何行終止符N值由mapreduce.input.lineinputformat.linespermap 屬性設(shè)定。MapReduce輸出格式MR輸出格式 文本輸出默認(rèn)輸出格式是 TextOutputFormat每條記錄寫為文本行每個鍵/值對由制表符進(jìn)行分割設(shè)定 mapreduce.output.textoutputformat.separator 屬性 改變默認(rèn)的分隔符NullWritable 可省略輸出的鍵或值兩者都省略,相當(dāng)于 NullOutputFormat ,什么也不輸出MapReduc
8、e1運行機(jī)制(1)和HDFS一樣,MapReduce也是采用Master/Slave的架構(gòu)MapReduce1包含4個部分:Client、JobTracker、TaskTracker和TaskMapReduce1運行機(jī)制(2)MapReduce1運行機(jī)制(3)MapReduce1運行機(jī)制(4)Client將JAR文件、配置參數(shù)Configuration、計算分片、Distributed Cache 文件存儲在HDFS向 JobTracker 申請JobIdJobTracker:負(fù)責(zé)資源監(jiān)控和作業(yè)調(diào)度監(jiān)控所有TaskTracker 與job的健康狀況,一旦發(fā)現(xiàn)失 敗,就將相應(yīng)的任務(wù)轉(zhuǎn)移到其他節(jié)點
9、跟蹤任務(wù)的執(zhí)行進(jìn)度、資源使用量等信息,并將這些信息告訴作業(yè)調(diào)度器調(diào)度器會在資源出現(xiàn)空閑時,選擇合適的任務(wù)使用這些資源MapReduce1運行機(jī)制(5)TaskTracker:周期性地通過Heartbeat 將本節(jié)點上資源的使用情況 和任務(wù)的運行進(jìn)度匯報給JobTracker接收J(rèn)obTracker 發(fā)送過來的命令并執(zhí)行相應(yīng)的操作( 如啟動新任務(wù)、殺死任務(wù)等)使用“slot”等量劃分本節(jié)點上的資源量,“slot”代表計算 資源(CPU、內(nèi)存等)分配給Task 使用Task:分為Map Task 和Reduce Task 兩種,均由TaskTracker 啟動Map Task 和Reduce Task 分別使用Map slot 和Reduce slotMapReduce1運行機(jī)制(6) 容錯JobTracker:存在單點故障,一旦出現(xiàn)故障,整個集群 就不可用,出現(xiàn)故障之后重啟一下,再把作業(yè)重新提交就可 以了,它不會像 HDFS 那樣出現(xiàn)數(shù)據(jù)的丟失TaskTracker:周期性向 JobTracker 匯報心跳,如果一 定時間內(nèi)沒有匯報,JobTracker 就認(rèn)為該TaskTracker 掛掉 了,或者TaskTracker上運行的Task失敗次數(shù)太多,就會把 上面所有任務(wù)調(diào)度到其它TaskTracker上Task:MapTask和ReduceTask
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婦幼保健的基本知識與常見問題解答
- 民生銀行流動資金貸款規(guī)定
- 亂扔垃圾處罰通告文檔7篇
- 2025年會計職稱考試《初級會計實務(wù)》會計職業(yè)道德與規(guī)范專項練習(xí)題庫含答案
- 流式數(shù)據(jù)實時分析技術(shù)
- 老年皮膚護(hù)理
- 老年保健護(hù)理
- 老年人中醫(yī)講座課件
- 誠意金支付與退還操作流程范本
- 山地水利工程土地租賃合同
- T/CTRA 01-2020廢輪胎/橡膠再生油
- 2025年自然資源管理基本知識考試題目及答案
- 可信數(shù)據(jù)空間解決方案星環(huán)科技
- 2025-2030年中國L4自動駕駛行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 預(yù)制菜加工采購合同協(xié)議
- 公司年度內(nèi)部控制體系自評報告
- 國家開放大學(xué)電大24153丨學(xué)前衛(wèi)生學(xué)基礎(chǔ)(統(tǒng)設(shè)課)期末終考題庫
- 鐵路貨運基礎(chǔ)知識課件
- 2024年武漢農(nóng)村商業(yè)銀行股份有限公司招聘考試真題
- 中國水稻種子市場經(jīng)營優(yōu)勢與發(fā)展趨勢前景分析研究報告
- 學(xué)??照{(diào)維修合同書
評論
0/150
提交評論