hadoop實踐(四)第一個MR程序——WordCount的編寫和運(yùn)行

一、Mapper編寫

1.創(chuàng)建Mapper類WordCountMapper,繼承org.apache.hadoop.mapreduce.Mapper抽象類;
2.注意Text導(dǎo)包不要導(dǎo)錯了,應(yīng)該是org.apache.hadoop.io.Text。

二、Reducer編寫

1.創(chuàng)建Reducer類WordCountReducer,繼承org.apache.hadoop.mapreduce.Reducer抽象類;
2.寫業(yè)務(wù)邏輯,實現(xiàn)按單詞累加計算mapper的結(jié)果。

三、Driver編寫

1.獲取job;
2.設(shè)置jar包路徑;
3.關(guān)聯(lián)mapper和reducer;
4.設(shè)置map輸出的key和value類型;
5.設(shè)置最終輸出的key和value類型;
6.設(shè)置輸入路徑和輸出路徑;
7.提交job,等待運(yùn)行結(jié)束。

四、本地運(yùn)行代碼

1.Edit configurations,輸入兩個參數(shù),第一個參數(shù)是要統(tǒng)計的輸入文檔的路徑F:\javaProject\hadoop\input\wordcount.txt,第二個參數(shù)是MR結(jié)果輸出路徑F:\javaProject\hadoop\output\wordcount,注意輸出路徑要不存在,否則會報錯;
2.運(yùn)行WordCountDriver,觀察輸出路徑中的文件,會包含四個文件:

._SUCCESS.crc
.part-r-00000.crc
_SUCCESS
part-r-00000

前兩個是校驗文件,第三個是成功標(biāo)識,最后一個是結(jié)果文件。

五、打成jar包

1.pom.xml增加maven打包依賴,build部分,詳見最后代碼包;
2.idea中選擇maven中的Lifecycle中的package進(jìn)行打包;
3.生成的jar包在target目錄下。

六、在集群環(huán)境下運(yùn)行

1.將jar包上傳到集群任意一臺機(jī)器上,這里以hadoop01為例;
2.運(yùn)行jar包,命令為:

hadoop jar MapReduceDemo-1.0-SNAPSHOT.jar com.kaceyollie.mr.wordcount.WordCountDriver /wcinput /wcoutput

3.打開http://hadoop02:8088可以查看Yarn中的任務(wù)運(yùn)行情況;
4.打開http://hadoop01:9870查看運(yùn)行結(jié)果

七、代碼

代碼見https://gitee.com/kaceyollie/bigdata-study.git中,MapReduceDemo項目中com.kaceyollie.mr.wordcount

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容