大數據 之 謎 之 低級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)
錯誤例圖:
在這裏插入圖片描述
正確例圖:
在這裏插入圖片描述
總結::::
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章