提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
MapReduce单词统计
一、搭建环境
window下安装jdk和idea
VM安装Linux
配置JDK:JDK是Java运行环境,基于Java编写的应用程序都需要Java运行环境,显然Hadoop是基于Java开发的,所以也需要配置JDK环境。
上传并解压jdk压缩包至Linux服务器
配置jdk全局环境变量
安装Hadoop:上传并解压jdk压缩包至Linux服务器;配置Hadoop全局环境变量
伪分布式配置:配置核心文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
二、编写WordCount程序
1.在IDEA中引入所需的jar包,IDEA支持文件夹方式引入
2.代码编写
1.编写Mapper函数
2.编写Reducer函数
3.编写Main函数主入口
Mapper代码如下:
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class WordCountMapper extends Mapper<LongWritable, Text, Text, LongWritable> {
@Override
protected void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
/*
* key: 输入的key
* value: 数据 I love Beijing
* context: Map上下文
*/
String data= value.toString();
//分词
String[] words = data.split(" ")