![大数据技术与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/689/33643689/b_33643689.jpg)
上QQ阅读APP看书,第一时间看更新
3.6 实训2 MapReduce应用
1.实训目的
编写一个MapReduce程序,实现简单的字符统计功能。
2.实训内容
1)MapReduce项目结构如图3-55所示。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/80_04.jpg?sign=1738855324-Te0j1m1KqspZF7m7op3hb9qqkbtBl52c-0-6191e3b0b017b34fc478e124c9f3bde4)
图3-55 MapReduce项目结构
2)WordMapper类代码如下。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/80_05.jpg?sign=1738855324-ooNC8tOV4rirshkhdv3Zg2BGH3gXyn5Z-0-797c2296b5dfd065a2707ab4179ed499)
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/81_01.jpg?sign=1738855324-JmDYLbjYF5dh1C8MAcZYpMUj53YZWgE1-0-570cb5b8aa37ede8a9e8595413db76c8)
3)WordReducer类代码如下。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/81_02.jpg?sign=1738855324-UKeQEhvlxSMRwlCoWMR56fnm9GA2WDi2-0-d2d6572c68b111ac7b6f9dac9e7ff92d)
4)WordMain类代码如下。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/81_03.jpg?sign=1738855324-Sw9T4RN7FVhnJG0m66p2vFrsP5LmFcMY-0-0d2c52fa9a83a72c897ab3e4eb67a0f3)
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/82_01.jpg?sign=1738855324-ucGmCxIKaw5Jq74USRuTZhSN38TKy8W0-0-ec751420e954561e1b7fe786c53d37de)
5)file1.txt和file2.txt都是统计单词存放文件。
file1.txt中的内容如下。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/82_02.jpg?sign=1738855324-M6WxnbKFb3vx28bfPcD713HlAiAmE3UR-0-94f94978cfe18e9ba85948c09e5309f6)
file2.txt中的内容如下。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/82_03.jpg?sign=1738855324-FTNstNRpbCKssWTxCJUj8rgLd2R3wYbQ-0-b4522a56f6ebad31fe033cb49b27aa50)
6)将wordcount打包。首先导入JAR文件,如图3-56所示。然后导入wordcount源文件,如图3-57所示。最后打包wordcount,如图3-58所示。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/83_01.jpg?sign=1738855324-YJbHxpqz2TA3eAhfjoZ2OIJG44NlZ9Fh-0-7b61d05fa7f7af01020261820a5f4948)
图3-56 导入JAR文件
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/83_02.jpg?sign=1738855324-pJiIEXEazck38IC2F3WieQtopEKreuZn-0-8f7522bc927f1cbc12723d74632fa4d9)
图3-57 导入wordcount源文件
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/84_01.jpg?sign=1738855324-grkvXjJtJ0klxkqE0VYSJRBgWTBglRYT-0-adf03c76eed5b060f6d26c329b0361a7)
图3-58 打包wordcount
7)导入文件到虚拟机中。在Linux的opt目录下新建一个file文件夹,将文件file1.txt和file2.txt复制进去,同时将wordcount.jar文件也复制到opt目录中,如图3-59所示。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/84_02.jpg?sign=1738855324-1jlQcqOuzYb0N7CjO3wtrRw3oA26SYsc-0-182742d916697d4c5e2654a7f7b7550b)
图3-59 导入文件到虚拟机中
8)运行程序。进入Hadoop的bin目录下,执行以下命令,如图3-60所示。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/85_01.jpg?sign=1738855324-pi376XcjEiphKdzQlRko1BVc3v9QsKQG-0-da2ef2f3ae93d5e328c80a61ab3f22d5)
图3-60 执行MapReduce程序命令
9)显示wordcount程序运行结果。MapReduce图形化统计界面如图3-61所示。MapReduce统计界面如图3-62所示。
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/85_02.jpg?sign=1738855324-ni5sVSiYu0BVFHYrbSCYbbuMQgrA20Nf-0-bf04d5457df9ad20897b1d56123d7fea)
图3-61 MapReduce图形化统计界面
![](https://epubservercos.yuewen.com/1E2B13/17977545601605106/epubprivate/OEBPS/Images/85_03.jpg?sign=1738855324-bMezx6JAeGRM4EDjmFw7pyAIgiFAdnzo-0-133648d7d8da50d7c3cf1d1264168a0c)
图3-62 MapReduce统计界面