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)
錯誤例圖:
正確例圖:
總結::::