用淘寶Fourinone實現Hadoop經典實例wordcount

不少人是經過wordcount入門分佈式並行計算, 該demo演示了Hadoop的經典實例wordcount的實現html

輸入數據:n個數據文件,每一個1g大小,爲了方面統計,每一個文件的數據由「aaa bbb ... ccc」(由空格分割的1k單詞組)不斷複製組成。分佈式

輸出數據:輸出這n*1g個數據文件中的每一個單詞總數oop

fourinone簡單實現思路,假設有n臺計算機,將這n個1g數據文件放置在每臺計算機上,每臺計算機各自統計1g數據,而後合併獲得結果htm

WordcountCT:爲一個工頭實現,它把須要處理的數據文件名稱發給各個工人,而後用一個HashMap<String,Integer> wordcount的map用來裝結果ip

WordcountWK:爲一個工人實現,它按照每次讀取8m的方式處理文件數據,將文件大小除以8m獲得總次數,每次處理過程將字符串進行空格拆分,而後放入本地一個map裏,完成後將此map發給工頭hadoop

ParkServerDemo: 分佈式計算過程的協同服務park開發

運行步驟:
一、啓動ParkServerDemo(它的IP端口已經在配置文件的PARK部分的SERVERS指定)
二、運行WordcountWK, 經過傳入不一樣的端口指定多個Worker,這裏假設在同機演示,ip設置爲localhost
三、運行WordcountCT,傳入文件路徑(假設多個工人處理相同數據文件)字符串

思惟發散:若是將以上實現部署到分佈式環境裏,它是1*n的並行計算模式,也就是每臺機器一個計算實例,fourinone能夠支持充分利用一臺機器的並行計算能力,能夠進行n*n的並行計算模式,好比,每臺機器4個實例,每一個只須要計算256m,總共1g,這樣總體的速度會大幅上升,如下是就wordcount和hadoop的運行對比結果:
部署

demo源碼和開發包下載:
http://www.skycn.com/soft/68321.htmlget

相關文章
相關標籤/搜索