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);
    	}
    
    }
    

      

     

  • 相关阅读:
    阅读笔记--- 04
    站立会议--06个人进度
    站立会议--05 个人
    站立会议---04个人
    场景分析
    站立会议---03个人
    站立会议---02 个人进度
    计算某一天距离今天多少天,多少小时,多少分钟
    改变图片颜色
    手动调整导航控制器中的viewcontroller
  • 原文地址:https://www.cnblogs.com/Jomini/p/11462513.html
Copyright © 2011-2022 走看看