首頁技術(shù)文章正文

MapReduce編程開發(fā)實(shí)例——詞頻統(tǒng)計(jì)過程

更新時(shí)間:2021-04-15 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


對MapReduce的編程思想和模型有了了解以后,下面我們借助MapReduce編程的一個(gè)典型案例——詞頻統(tǒng)計(jì), 來學(xué)習(xí)實(shí)現(xiàn)MapReduce編程開發(fā)。

假設(shè)我們有兩個(gè)文本文件,這兩個(gè)文本文件位于HDFS中,文件如1,2所示:

文件1 text1.txt

Hello World

Hello Hadoop

Hello itcast
文件2 text2.txt
Hadoop MapReduce

MapReduce Spark

根據(jù)MapReduce編程模型,那么單詞計(jì)數(shù)的實(shí)現(xiàn)過程,如圖1所示。

1618467795467_11.gif

圖1 詞頻統(tǒng)計(jì)過程

在圖1演示中,首先,MapReduce通過默認(rèn)組件TextInputFormat將待處理的數(shù)據(jù)文件(如text1.txt和text2.txt),把每一行的數(shù)據(jù)都轉(zhuǎn)變?yōu)?lt;key,value>鍵值對(其中,對應(yīng)key為偏移量,value為這一行的文本內(nèi)容);其次,調(diào)用Map()方法,將單詞進(jìn)行切割并進(jìn)行計(jì)數(shù),輸出鍵值對作為Reduce階段的輸入鍵值對;最后,調(diào)用Reduce()方法將單詞匯總、排序后,通過TextOutputFormat組件輸出到結(jié)果文件中。




猜你喜歡:

詳解MapReduce編程的Map模型和Reduce模型

MapReduce程序如何設(shè)置本地運(yùn)行模式?

MapReduce中Maper組件用法介紹【黑馬程序員】    

黑馬程序員大數(shù)據(jù)高級軟件工程師培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!