Hadoop调用MapReduce进行词频统计

本博客详细介绍了如何利用Hadoop MapReduce对英文小说《了不起的盖茨比》进行词频统计。首先,通过VirtualBox在Ubuntu上安装Hadoop和Eclipse,然后将文本文件上传到HDFS,接着在Eclipse中编写Java应用程序,编译打包成JAR文件,最后在Hadoop环境中运行并验证结果。
摘要由CSDN通过智能技术生成

博客目录

一.案例

1.实验目的

对英文原版小说《了不起的盖茨比》进行词频统计

2.分析步骤

1.将待分析的文本文件上传到HDFS
2.调用MapReduce对文件中各个单词出现的次数进行统计
3.将统计结果下载本地

二.前置准备

1.传输文本文件

在物理机上从网上下载英文原版《了不起的盖茨比》小说文件,下载到本地的文件格式为.pdf或.epub的文件将其转换为.txt文本文件,将其文件名改为wdf.txt,最后将这文件传输到网盘之中。

2.环境搭建

(1)使用VirtualBox虚拟机软件安装Ubuntu

具体安装步骤可以参考博主寥廓长空的这篇博客

(2)在Ubuntu中安装Hadoop和Eclipse

具体安装步骤可以参考博主vmClaire的这篇博客

三.具体步骤

1.下载保存文本文件

在虚拟机Ubuntu系统里面使用Firefox浏览器将网盘上的wdf.txt下载保存到“/home/dadoop”路径内
将文件传输到Hadoop目录下

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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值