JAVA MapReduce 之经典问题WordCount代码实现与解析

本文介绍了如何使用JAVA实现MapReduce的经典问题WordCount。首先,讲解了Mapper类的编写,包括Text和IntWritable的数据封装以及StringTokenizer的使用。接着,详细解释了Reducer类的实现,对相同key的value进行求和。最后,展示了Driver类的编写,包括配置参数、输入输出路径的设定。整个过程完整地展示了MapReduce任务的执行流程。
摘要由CSDN通过智能技术生成

1.Map 类编写
 Mapper:是 MapReduce 计算框架中 Map 过程的封装
 Text:Hadoop 对 Java String 类的封装,适用于 Hadoop 对文本字符串的处理
 IntWritable:Hadoop 对 Java Integer 类的封装,适用于 Hadoop 整型的处理
 Context:Hadoop 环境基于上下文的操作对象,如 Map 中 key/value 的输出、分布式缓存数
据、分布式参数传递等
 StringTokenizer:对 String 对象字符串的操作类,做基于空白字符的切分操作工具类
源码编写实现:
package com.tianliangedu.mapper;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class MyTokenizerMapper extends
Mapper<Object, Text, Text, IntWritable> {
// 暂存每个传过来的词频计数,均为 1,省掉重复申请空间
private final static IntWritable one = new IntWritable(1);
// 暂存每个传过来的词的值,省掉重复申请空间
private Text word = new Text();
// 核心 map 方法的具体实现,逐个<key,value>对去处理<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值