Hadoop实战之mapreduce的WordCount统计单词数目

一.Hadoop实战之mapreduce的WordCount统计单词数目

1.前言:

上一篇文章[MapReducer项目结构分析](https://blog.csdn.net/ITBigGod/article/details/80216622) 分析了hadoop的计算模型MapReducer的项目结构,下面就仿照先做一个WordCount统计单词数目的实战,便于理解。

参考本例子前:
1.需要确保搭建好了hadoop集群环境。
2.安装了eclipse开发hadoop的环境。
3.这是关于Hadoop实战之WordCount统计单词数目。

2.实战:

(1)在eclipse中编码:

新建一个MapReducer项目:

  1. 打开eclipse,file->other->Map/Reducer Project->Next->Project name创建名为WordCount的项目名,然后创建名为cn.edu.gznc的包,接着在包里面创建三个类,分别是WordCountMapper、WordCountReduce、WordCountJob。
    如图所示:
    这里写图片描述这里写图片描述

  2. xxxMapper.java
    一个map方法.
    代码如下:
import java.io.IOException;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
/* 
 * KEYIN:输入kv数据对中key的数据类型 
 * VALUEIN:输入kv数据对中value的数据类型 
 * KEYOUT:输出kv数据对中key的数据类型 
 * VALUEOUT:输出kv数据对中value的数据类型 
 */  
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{
	  
    /* 
     * map方法是提供给map task进程来调用的,map task进程是每读取一行文本来调用一次我们自定义的map方法 
     * map task在调用map方法时,传递的参数: 
     *      一行的起始偏移量LongWritable作为key 
     *      一行的文本内容Text作为value 
     */  
    @Override  
    protected void map(LongWritable key, Text value,Context context) throws IOException, InterruptedException {  
        //拿到一行文本内容,转换成String 类型  
        String line = value.toString();  
        //将这行文本切分成单词,以空格切分。 
        String[] words=line.split(" "); 
        
        //输出格式<单词,1>  
        for(String word:words){  
            context.write(new T
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖一点雨

原创不易,鼓励鼓励~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值