Hadoop调用MapReduce进行词频统计
博客目录
一.案例
1.实验目的
对英文原版小说《了不起的盖茨比》进行词频统计
2.分析步骤
1.将待分析的文本文件上传到HDFS
2.调用MapReduce对文件中各个单词出现的次数进行统计
3.将统计结果下载本地
二.前置准备
1.传输文本文件
在物理机上从网上下载英文原版《了不起的盖茨比》小说文件,下载到本地的文件格式为.pdf或.epub的文件将其转换为.txt文本文件,将其文件名改为wdf.txt,最后将这文件传输到网盘之中。
2.环境搭建
(1)使用VirtualBox虚拟机软件安装Ubuntu
(2)在Ubuntu中安装Hadoop和Eclipse
三.具体步骤
1.下载保存文本文件
在虚拟机Ubuntu系统里面使用Firefox浏览器将网盘上的wdf.txt下载保存到“/home/dadoop”路径内
2.将文本文件传输至HDFS
启动hadoop,将wdf.txt上传至HDFS
3.启动软件Eclipse
打开/新建工作空间“workspace”
4.新建Java工程
(1)启动完成后,在左上角“File→New→Java Project”依次点击,创建一个工程名为WordCount的Java工程
(2)接下来按照从上往下顺序进行配置,首先“Project name”填写为“WordCount”
(3)其次勾选“Use default location”保持打钩状态,使其工程位置为“/home/hadoop/workspace/WordCount”
(4)接着在“JRE”这个框中,选择“java-8-openjdk-amd64”
(5)然后点击界面底部的“Next>”按钮,进入下一步的设置
(6)当Java工程“WordCount”已经存在的时候,会出现如图所示的“A project with this name already exists.”的提示语句,并且使Next>和Finish按钮处于灰色状态
5.为项目添加需要用到的JAR包
(1)先点击灰色栏第一行的“Libraries”按钮,然后点击界面右侧的“Add External JARs…”按钮
(2)在弹出的窗口中依次选定
①“/usr/local/hadoop/share/hadoop/common”目录下的“hadoop-common-2.7.1.jar”和“haoop-nfs-2.7.1.jar”两个jar包
②“/usr/local/hadoop/share/hadoop/common/lib”目录下的所有jar包
③“/usr/local/hadoop/share/hadoop/mapreduce”目录下的所有jar包
④“/usr/local/hadoop/share/hadoop/mapreduce/lib”目录下的所有jar包
(3)添加完jar包之后点击“Finish”按钮
6.新建类
(1)右击在Eclipse工作界面左侧的java工程“WordCount”,在弹出的菜单中依次点击“New→Class”
(2)填写类名“WordCount”,其它保持不动,单击Finish
7.编写Java应用程序
按住Ctrl+A选择全部,然后按Delete/Backspace清空这个类里面的代码,然后粘贴如下词频统计代码
import java.io.IOException;
import java.util.Iterator;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org