你是想调试把,调试的方法有多种,这里说一种最简单、原始的一种。 记得Javascript刚开始之初是不能调试的,于是我们就采用alert的方法,看看结果是不是我们想要的,这里我们调试mapreduce采用的是类似的方法。我们通过Counter countPrint1 = context.getCounter("Map中循环strScore", “输出信息”);来输出调试信息,getCounter可以把程序里面的变量输出到Java控制台,这样就达到了调试效果。 详细参考: Hadoop中调试(mapreduce)map与redcue信息的输出办法 当然还有其他调试方法,可以参考下面 Win7 Eclipse调试Centos Hadoop2.2-Mapreduce出现问题解决方案 调试Hadoop源代码:eclipse调试及日志打印 |
// reduce类 static class MyReduce extends Reducer<Text, LongWritable, Text, LongWritable> { @Override protected void reduce(Text k2, java.lang.Iterable<LongWritable> v2s, Context ctx) throws java.io.IOException, InterruptedException { long times = 0L; for (LongWritable count : v2s) { times += count.get(); ctx.write(k2, new LongWritable(times)); } } } 在你的reduce函数中,根据自己的情况,加入ctx.write(),就能看到了 |