诡异错误:java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable
提示是说map函数接收参数与期望的参数不一致,出现这种问题一般是两种原因引起:
- Mapper类的参数类型是否和map函数中的类型不一致;
- 主函数中设置map输出类型与实际输出类型不一致;
这一次我再三检查了以上两项,发现以上两项均无误。仔细比对了其它程序才发现我在主函数中没有设置map类,即如下语句。
job.setMapperClass(MapClass.class);