目录
一、准备数据
二、MR的编程规范
三、编程步骤
四、编写程序
Mapper程序解读
一、准备数据#
注意:准备的数据的格式必须是文本,每个单词之间使用制表符分割。编码必须是utf-8无bom
在这里插入图片描述
二、MR的编程规范#
MR的编程只需要将自定义的组件和系统默认组件进行组合,组合之后运行即可!
三、编程步骤#
①Map阶段的核心处理逻辑需要编写在Mapper中
②Reduce阶段的核心处理逻辑需要编写在Reducer中
③将编写的Mapper和Reducer进行组合,组合成一个Job
④对Job进行设置,设置后运行
四、编写程序#
WCMapper.java
Copy
public class WCMapper extends Mapper<LongWritable, Text, Text, IntWritable>{
private Text out_key=new Text();
private IntWritable out_value=new IntWritable(1);//每个单词出现一次记为1
// 针对输入的每个 keyin-valuein调用一次 (0,hello hi hello hi)
@Override
protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, IntWritable>.Context context) throws Exception {
System.out.println("keyin:"+key+"----keyout:"+value);
String[] words = v