日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop源代码分析(MapReduce概论)

發(fā)布時(shí)間:2025/3/8 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop源代码分析(MapReduce概论) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家都熟悉文件系統(tǒng),在對(duì)HDFS進(jìn)行分析前,我們并沒(méi)有花很多的時(shí)間去介紹HDFS的背景,畢竟大家對(duì)文件系統(tǒng)的還是有一定的理解的,而且也有很好的文檔。在分析Hadoop的MapReduce部分前,我們還是先了解系統(tǒng)是如何工作的,然后再進(jìn)入我們的分析部分。下面的圖來(lái)自http://horicky.blogspot.com/2008/11/hadoop-mapreduce-implementation.html,是我看到的講MapReduce最好的圖。

?

以Hadoop帶的wordcount為例子(下面是啟動(dòng)行):
hadoop jar hadoop-0.19.0-examples.jar wordcount /usr/input/usr/output
用戶(hù)提交一個(gè)任務(wù)以后,該任務(wù)由JobTracker協(xié)調(diào),先執(zhí)行Map階段(圖中M1,M2和M3),然后執(zhí)行Reduce階段(圖中R1和R2)。Map階段和Reduce階段動(dòng)作都受TaskTracker監(jiān)控,并運(yùn)行在獨(dú)立于TaskTracker的Java虛擬機(jī)中。
我們的輸入和輸出都是HDFS上的目錄(如上圖所示)。輸入由InputFormat接口描述,它的實(shí)現(xiàn)如ASCII文件,JDBC數(shù)據(jù)庫(kù)等,分別處理對(duì)于的數(shù)據(jù)源,并提供了數(shù)據(jù)的一些特征。通過(guò)InputFormat實(shí)現(xiàn),可以獲取InputSplit接口的實(shí)現(xiàn),這個(gè)實(shí)現(xiàn)用于對(duì)數(shù)據(jù)進(jìn)行劃分(圖中的splite1到splite5,就是劃分以后的結(jié)果),同時(shí)從InputFormat也可以獲取RecordReader接口的實(shí)現(xiàn),并從輸入中生成<k,v>對(duì)。有了<k,v>,就可以開(kāi)始做map操作了。
map操作通過(guò)context.collect(最終通過(guò)OutputCollector. collect)將結(jié)果寫(xiě)到context中。當(dāng)Mapper的輸出被收集后,它們會(huì)被Partitioner類(lèi)以指定的方式區(qū)分地寫(xiě)出到輸出文件里。我們可以為Mapper提供Combiner,在Mapper輸出它的<k,v>時(shí),鍵值對(duì)不會(huì)被馬上寫(xiě)到輸出里,他們會(huì)被收集在list里(一個(gè)key值一個(gè)list),當(dāng)寫(xiě)入一定數(shù)量的鍵值對(duì)時(shí),這部分緩沖會(huì)被Combiner中進(jìn)行合并,然后再輸出到Partitioner中(圖中M1的黃顏色部分對(duì)應(yīng)著Combiner和Partitioner)。
Map的動(dòng)作做完以后,進(jìn)入Reduce階段。這個(gè)階段分3個(gè)步驟:混洗(Shuffle),排序(sort)和reduce。
混洗階段,Hadoop的MapReduce框架會(huì)根據(jù)Map結(jié)果中的key,將相關(guān)的結(jié)果傳輸?shù)侥骋粋€(gè)Reducer上(多個(gè)Mapper產(chǎn)生的同一個(gè)key的中間結(jié)果分布在不同的機(jī)器上,這一步結(jié)束后,他們傳輸都到了處理這個(gè)key的Reducer的機(jī)器上)。這個(gè)步驟中的文件傳輸使用了HTTP協(xié)議。
排序和混洗是一塊進(jìn)行的,這個(gè)階段將來(lái)自不同Mapper具有相同key值的<key,value>對(duì)合并到一起。

Reduce階段,上面通過(guò)Shuffle和sort后得到的<key, (list of values)>會(huì)送到Reducer. reduce方法中處理,輸出的結(jié)果通過(guò)OutputFormat,輸出到DFS中。

更多精彩內(nèi)容請(qǐng)關(guān)注:http://bbs.superwu.cn?

關(guān)注超人學(xué)院微信二維碼:

關(guān)注超人學(xué)院java免費(fèi)學(xué)習(xí)交流群:


轉(zhuǎn)載于:https://blog.51cto.com/crxy2013/1658955

總結(jié)

以上是生活随笔為你收集整理的Hadoop源代码分析(MapReduce概论)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五十路av在线| 国产情侣酒店自拍 | 日皮视频免费看 | 2022天天操 | 99热这里有 | 日日碰狠狠添天天爽无码 | 日韩在线专区 | 日韩激情视频在线 | 久久人人爽人人爽 | 亚洲乱码av | 一区二区三区三区在线 | 精品理论片 | 上海毛片 | 亚洲四虎av | 超碰偷拍| 91精品综合久久久久久 | 钰慧的mv视频在线观看 | 久久99精品波多结衣一区 | 嫩草嫩草嫩草 | 少妇太紧太爽又黄又硬又爽小说 | 亚洲国产日韩在线 | 成人影视免费观看 | av网站大全免费 | 成人一区二区三区 | 人人草人人 | 国产毛片久久久久久 | 欧美偷拍第一页 | 欧美日韩中文字幕在线观看 | 国产人妻人伦精品1国产 | 国产白丝av | 狠狠久久婷婷 | 欧美粗暴se喷水 | 天堂中文在线官网 | 亚洲精品www久久久 一级aaa毛片 | 亚洲第一色在线 | 美女免费看片 | 久久久久91| 日韩欧美一级视频 | 午夜久久久 | 欧美一级鲁丝片 | av一二三| 91久久免费 | 射射综合网 | 日本电影成人 | av网站在线看 | 日韩一区二区三区在线视频 | 狠狠欧美 | 蜜桃av一区二区三区 | 黄色国产网站 | 欧美激情精品久久久久久变态 | 最近2019中文字幕大全第二页 | 亚洲美女精品视频 | 亚洲综合射 | 封神榜二在线高清免费观看 | 久久精品无码人妻 | 国产黑丝在线观看 | 免费黄色在线观看 | 少妇毛片一区二区三区 | 天天综合影院 | 同人动漫在线观看 | 亚洲每日在线 | 亚洲欧美成人一区二区三区 | 97在线观看免费高清 | 91在线亚洲| 男女黄床上色视频免费的软件 | 在线免费视频一区二区 | 国产又粗又猛又爽69xx | 久久影视网 | 欧美狂猛xxxxx乱大交3 | 免费视频一区 | 手机av电影在线 | 亚洲国产精品成人综合久久久 | 91视频免费观看 | 日韩午夜网站 | 日韩免费观看 | 91香蕉久久 | 欧美日韩国产精品一区 | 亚洲国产天堂 | 高hnp视频 | 致命魔术电影高清在线观看 | 3级av| 波多野结衣中文一区 | 亚洲熟妇国产熟妇肥婆 | 亚洲精品韩国 | 一级少妇毛片 | 欧美涩色 | 亚洲精品中文字幕乱码三区91 | 波多野结衣有码 | 蜜臀av免费在线观看 | 午夜精品久久久久久久99热浪潮 | 日本青青草视频 | 久久久久久久黄色 | аⅴ资源中文在线天堂 | 小泽玛利亚一区二区三区在线观看 | 色干网 | 精品中文字幕在线观看 | 曰批女人视频在线观看 | 国产一级久久久久毛片精品 | 自拍偷拍一区 |