大数据 之 谜 之 低级bug
java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.LongWritable, recieved org.apache.hadoop.io.Text
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:406)
解决方法:
这个错误信息已经显示,要求的输出的KEY是TEXT类型,但返回LongWritable类型
查看一下设置map的输出类型,然后再看看Map函数输出的参数是否和它保持一致。
这里设置的是输出key和value都是Text类型
[java] view plain copy
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
但是继承Mapper函数的时候,没有指定输出参数类型,因为默认的输入格式TextInputFormat产生的键类型是LongWritable,说到这里应该知道怎么改了吧。还不知道怎么改的,参考如下
也可以 查看的Driver类 看的类型是否是 setOutPutKeyClass(Text.class)
错误例图:
正确例图:
总结::::