zoukankan      html  css  js  c++  java
  • WordCount-JAVA版

    WordCountMapper

    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;
    
    public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
    	Text k = new Text();
    	IntWritable v = new IntWritable(1);
    
    	protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
    
    		String line = value.toString();
    
    		String[] words = line.split(" ");
    
    		for (String word : words) {
    			k.set(word);
    			context.write(k, v);
    		}
    	}
    }
    

     WordCountMapper

    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;
    
    public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
    
    	Text k = new Text();
    	IntWritable v = new IntWritable(1);
    
    	protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
    
    		String line = value.toString();
    
    		String[] words = line.split(" ");
    
    		for (String word : words) {
    			k.set(word);
    			context.write(k, v);
    		}
    
    	}
    }
    

      WordCountReducer

    import java.io.IOException;
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Reducer;
    
    public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable>{
    	
    	int sum;
    	IntWritable v = new IntWritable();
    
    	@Override
    	protected void reduce(Text key, Iterable<IntWritable> value, Context context)
    			throws IOException, InterruptedException {
    		// 1 累加求和
    		sum = 0;
    		for (IntWritable count : value) {
    			sum += count.get();
    		}
    		// 2 输出
    		v.set(sum);
    		context.write(key, v);
    	}
    
    }
    

      

     

  • 相关阅读:
    树莓派4B
    SpringBoot 自定义 info Actuator 原理
    RestTemplate翻译serviceId过程
    ISA, ABI, API区别
    01.编译器结构
    【Git123】Git SSH Key支持多账号
    【消息中间件123】Solace PubSub+ Event Broker介绍
    【ETL123】
    【Http123】Http Timeout
    【性能123】Linux性能之“平均负载”
  • 原文地址:https://www.cnblogs.com/Jomini/p/11462513.html
Copyright © 2011-2022 走看看