hadoop案例:KeyValueTextInputFormat
  TEZNKK3IfmPf 2023年11月13日 29 0

输入数据

文件 value.txt

banzhang ni hao
xihuan hadoop banzhang
banzhang ni hao
xihuan hadoop banzhang

期望结果

banzhang	2
xihuan	2

需求分析

hadoop案例:KeyValueTextInputFormat

Mapper类

package com.mr.keyvalue;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

public class KVTextMapper extends Mapper<Text, Text,Text, IntWritable> {
     
       

    IntWritable v = new IntWritable(1);
    @Override
    protected void map(Text key, Text value, Context context) throws IOException, InterruptedException {
     
       
        //

        context.write(key,v);

        }


    }


Reducer类

package com.mr.keyvalue;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

public class KVTextMapper extends Mapper<Text, Text,Text, IntWritable> {
     
       

    IntWritable v = new IntWritable(1);
    @Override
    protected void map(Text key, Text value, Context context) throws IOException, InterruptedException {
     
       
        //

        context.write(key,v);

        }


    }

Driver类

package com.mr.keyvalue;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;

public class KVTextReducer extends Reducer<Text, IntWritable,Text,IntWritable> {
     
       
    IntWritable v = new IntWritable();
    @Override
    protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
     
       

          int sum=0;

        for (IntWritable value : values) {
     
       
           sum+=value.get();

        }
        v.set(sum);
        //

        context.write(key,v);
    }
}

执行结果
hadoop案例:KeyValueTextInputFormat

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

TEZNKK3IfmPf