云计算(二十三)-编写WordCount并使用MRUnit测试

1 建立一个java项目,将hadoop依赖的包导入项目中

2 创建Mapper类

public class MapperClass extends Mapper<Object, Text, Text, IntWritable>{
IntWritable one = new IntWritable(1);
Text word = new Text();
protected void map(Object key, Text value,org.apache.hadoop.mapreduce.Mapper.Context context)
throws IOException, InterruptedException {
String string = value.toString();
StringTokenizer stringTokenizer = new StringTokenizer(string);
while(stringTokenizer.hasMoreTokens()){
word.set(stringTokenizer.nextToken());
context.write(word, one);
}
}
}

3 创建Reducer 类

public class ReducerClass extends Reducer<Text, IntWritable, Text, IntWritable>{
protected void reduce(Text key, Iterable<IntWritable> values,Context context)
throws IOException, InterruptedException {
int sum = 0;
   for (IntWritable value : values) {
     sum += value.get();
   }
   context.write(key, new IntWritable(sum));
}
}

注意,千万不要用Eclipse的自动填充,默认会填充成下面的形式,但是在做UT的时候会造成断言不正确,原因不明,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值