mapreduce運(yùn)行全流程圖解析_第1頁
mapreduce運(yùn)行全流程圖解析_第2頁
mapreduce運(yùn)行全流程圖解析_第3頁
mapreduce運(yùn)行全流程圖解析_第4頁
mapreduce運(yùn)行全流程圖解析_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 mapreduce運(yùn)行全流程圖解析MapReduce三大問題:一、讀數(shù)據(jù)是怎么回事?二、shuffle的過程?三、結(jié)果數(shù)據(jù)存儲(chǔ)是怎么回事?源碼解析:FileInputFormat-createRecordReader控制切片,壓縮格式不能切片。LongWritable關(guān)于偏移量的底層代碼:解一:讀數(shù)據(jù)是怎么回事?1.首先map task驅(qū)動(dòng)TextInputFormat,底層方法有craeteRecordReader,然后生成LineRecordReader,底層包含nextKeyvalue,getCurrentKey,getCurrentValue方法,主要是定義key ,value的數(shù)據(jù)

2、類型,keyin的值定義了按行讀取的偏移量。2.解析:map task拿到key和value后驅(qū)動(dòng)自己定義的MyMapper類.MyMapper類繼承了Mapper基類。讀取文件數(shù)據(jù)的細(xì)節(jié):maptask先經(jīng)過切片,通過流式讀取文件。以上為切片的規(guī)則,大小為128M,往下一個(gè)切片會(huì)多讀一行,下一個(gè)切片會(huì)永遠(yuǎn)拋棄第一行,文件的起始片不能拋棄第一行,文件的最后一個(gè)切片不往下多讀一行。context.write(k,v)輸出數(shù)據(jù)后,由outputCollector收集,之后進(jìn)入環(huán)形緩存區(qū),區(qū)內(nèi)分為80%的數(shù)據(jù)區(qū)和20%的保留區(qū),多余的數(shù)據(jù)會(huì)溢出到溢出器,溢出器會(huì)保留在磁盤。在這個(gè)過程中數(shù)據(jù)會(huì)進(jìn)行,分

3、區(qū)及排序。數(shù)據(jù)分區(qū)排序后,會(huì)生成文件,并通過索引分區(qū)文件。索引是描述區(qū)的偏移量。很多的小文件,通過外部排序及歸并算法,生成一個(gè)大文件。Reduce端:這里注意:在調(diào)用reduce()方法時(shí),框架reducetask先從合并文件中讀出一個(gè)key傳給reduce方法,同時(shí)傳出一個(gè)迭化器。Value迭化器的hasnext方法會(huì)判斷文件的下一個(gè)key是否是已經(jīng)傳入的key。如果是,則next返回下一個(gè)value。否則,hasnext直接返回false,導(dǎo)致本次reduce方法調(diào)用結(jié)束。看起來的效果則是,reducetask會(huì)把數(shù)據(jù)按照key事先分好組,然后對(duì)每一組的數(shù)據(jù)調(diào)用一次reduce的方法。1.

4、reducetask先從合并文件中讀出一個(gè)key傳給reduce方法,同時(shí)傳一個(gè)迭代器。2.value的迭代器的hasnext()方法會(huì)判斷文件的下一個(gè)key是否是已經(jīng)傳入的key,如果是,則next返回下一個(gè)value,否則,hadnext()直接返回false,導(dǎo)致本次reduce方法調(diào)用結(jié)束。3.看起來的效果是:reducetask會(huì)把數(shù)據(jù)按照key事先分好組,然后對(duì)每一組的數(shù)據(jù)調(diào)用一次reduce方法來做統(tǒng)計(jì)-通過context.write(),輸出key,value,到外部存儲(chǔ)系統(tǒng).按行輸入數(shù)據(jù)。這里會(huì)有人問到,有哪些是可干預(yù)的?1.數(shù)據(jù)讀的方式:InputFormat(可設(shè)置文件,流,xml,只要能解析元數(shù)據(jù))。配套的LineRecordReader也要改。2.分區(qū)。Partitioner。3.排序。pareTo()順序,倒敘,重寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論