Type mismatch in value from map:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/crazy_scott/article/details/83244451

先检查mapper输出和reducer输入的类型是否一致。
如果一致,需要在main中添加:

job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);

job.setOutputKeyClass和job.setOutputValueClas在默认情况下是同时设置map阶段和reduce阶段的输出,也就是说只有map和reduce输出是一样的时候才不会出问题。

当map和reduce输出是不一样的时候就需要通过job.setMapOutputKeyClassjob.setMapOutputValueClas来设置map阶段的输出。

猜你喜欢

转载自blog.csdn.net/crazy_scott/article/details/83244451