hadoop 设置了reduce但是无法执行的bug

在进行Hadoop MapReduce开发时,遇到设置的reduce方法未执行的情况。通过在reduce方法中添加日志输出并检查task日志,确认reduce未被执行。问题出在Reducer类的实现上,原始代码使用了`Iterator`作为第二个参数,而自动生成的代码使用了`java.lang.Iterable`。添加`@Override`注解引发错误,因为新版本Hadoop中已不适用旧的参数类型。解决方案是使用自动生成的`reduce`方法并重新编写处理逻辑。这是一个关于Hadoop版本兼容性和代码检查的教训。
摘要由CSDN通过智能技术生成

今天做mapreduce开发的时候,遇到个诡异的问题,设置了reduce方法,但是就是没有执行。

为了进一步验证reduce是否执行,特地在reduce方法里添加了一些提示信息的输出,查看后台task日志文件里面确实没有对应的打印内容,说明reduce没有执行。


hadoop版本:1.2.1

开发工具:eclipse


设计的Reducer方法如下:

public static class KPIBrowserIPReducer extends
Reducer<Text, IntWritable, Text, Text> {
private Text outvalue = new Text();


                public void reduce(Text key, Iterator<IntWritable> values,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值