一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - MapTask工作機(jī)制圖文詳解

MapTask工作機(jī)制圖文詳解

2021-07-01 14:0843193797 Java教程

今天小編就為大家分享一篇關(guān)于MapTask工作機(jī)制圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

maptask工作機(jī)制如圖所示。 

MapTask工作機(jī)制圖文詳解

(1)read階段:maptask通過用戶編寫的recordreader,從輸入inputsplit中解析出一個個key/value。

(2)map階段:該節(jié)點(diǎn)主要是將解析出的key/value交給用戶編寫map()函數(shù)處理,并產(chǎn)生一系列新的key/value。

(3)collect收集階段:在用戶編寫map()函數(shù)中,當(dāng)數(shù)據(jù)處理完成后,一般會調(diào)用outputcollector.collect()輸出結(jié)果。在該函數(shù)內(nèi)部,它會將生成的key/value分區(qū)(調(diào)用partitioner),并寫入一個環(huán)形內(nèi)存緩沖區(qū)中。

(4)spill階段:即“溢寫”,當(dāng)環(huán)形緩沖區(qū)滿后,mapreduce會將數(shù)據(jù)寫到本地磁盤上,生成一個臨時文件。需要注意的是,將數(shù)據(jù)寫入本地磁盤之前,先要對數(shù)據(jù)進(jìn)行一次本地排序,并在必要時對數(shù)據(jù)進(jìn)行合并、壓縮等操作。

溢寫階段詳情:

  •        步驟1:利用快速排序算法對緩存區(qū)內(nèi)的數(shù)據(jù)進(jìn)行排序,排序方式是,先按照分區(qū)編號partition進(jìn)行排序,然后按照key進(jìn)行排序。這樣,經(jīng)過排序后,數(shù)據(jù)以分區(qū)為單位聚集在一起,且同一分區(qū)內(nèi)所有數(shù)據(jù)按照key有序。
  •        步驟2:按照分區(qū)編號由小到大依次將每個分區(qū)中的數(shù)據(jù)寫入任務(wù)工作目錄下的臨時文件output/spilln.out(n表示當(dāng)前溢寫次數(shù))中。如果用戶設(shè)置了combiner,則寫入文件之前,對每個分區(qū)中的數(shù)據(jù)進(jìn)行一次聚集操作。
  •        步驟3:將分區(qū)數(shù)據(jù)的元信息寫到內(nèi)存索引數(shù)據(jù)結(jié)構(gòu)spillrecord中,其中每個分區(qū)的元信息包括在臨時文件中的偏移量、壓縮前數(shù)據(jù)大小和壓縮后數(shù)據(jù)大小。如果當(dāng)前內(nèi)存索引大小超過1mb,則將內(nèi)存索引寫到文件output/spilln.out.index中。

(5)combine階段:當(dāng)所有數(shù)據(jù)處理完成后,maptask對所有臨時文件進(jìn)行一次合并,以確保最終只會生成一個數(shù)據(jù)文件。

當(dāng)所有數(shù)據(jù)處理完后,maptask會將所有臨時文件合并成一個大文件,并保存到文件output/file.out中,同時生成相應(yīng)的索引文件output/file.out.index。

在進(jìn)行文件合并過程中,maptask以分區(qū)為單位進(jìn)行合并。對于某個分區(qū),它將采用多輪遞歸合并的方式。每輪合并io.sort.factor(默認(rèn)10)個文件,并將產(chǎn)生的文件重新加入待合并列表中,對文件排序后,重復(fù)以上過程,直到最終得到一個大文件。

讓每個maptask最終只生成一個數(shù)據(jù)文件,可避免同時打開大量文件和同時讀取大量小文件產(chǎn)生的隨機(jī)讀取帶來的開銷。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

原文鏈接:https://blog.csdn.net/qq_43193797/article/details/86062393

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久免费精品视频 | 好大好硬好深好爽想要之黄蓉 | 爸爸的宝贝小说全文在线阅读 | 亚洲国产精品自在现线让你爽 | 故意短裙公车被强好爽在线播放 | 69天堂网 | 亚洲www视频| 99热这里只有精品一区二区三区 | free性丰满hd性欧美人体 | 91制片厂制作传媒网站破解 | 亚洲狠狠综合久久 | 国产男女性特黄录像 | 四虎影视在线永久免费观看 | 免费免费啪视频在线观播放 | 99精品视频在线观看免费 | 久久r视频| chinese男性厕所撒尿合集 | 亚洲第一区二区快射影院 | 天美影视文化传媒mv免费 | 国产亚洲精品日韩香蕉网 | 青草视频网站 | 国产成人精品曰本亚洲78 | 日本在线视频播放 | hezyo加勒比一区二区三区 | 精品久久久噜噜噜久久久app | 日本亚洲欧洲高清有码在线播放 | 久久久大香菇 | 图片专区小说专区卡通动漫 | 欧美日韩人成在线观看 | 奇米影视亚洲狠狠色 | 亚欧视频在线观看 | 国产精品66福利在线观看 | 亚洲精品丝袜在线一区波多野结衣 | 国产剧情在线播放 | 日韩性大片免费 | 国产专区视频在线观看 | 成人在线视频在线观看 | 国产精品九九免费视频 | 日本在线视频免费观看 | 赤色疑惑| 免费刷10000名片赞网站 |