2013-11-28 19 views
-1

我想用的Hadoop來計算bewteen點的距離和運行hadoop jar knn.jar input output時,他們的結果ORDER BY鍵,排序的錯誤,我得到的錯誤如下:當我使用Hadoop數據進行排序,我得到

13/11/28 15:35:38 INFO mapred.JobClient: Task Id : attempt_2013 
10221205_0036_m_000000_0, Status : FAILED 
java.io.IOException: Type mismatch in key from map: expected or 
g.apache.hadoop.io.Text, recieved org.apache.hadoop.io.DoubleWr 
itable 
     at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.col 
lect(MapTask.java:1019) 
     at org.apache.hadoop.mapred.MapTask$NewOutputCollector. 
write(MapTask.java:690) 
     at org.apache.hadoop.mapreduce.TaskInputOutputContext.w 
rite(TaskInputOutputContext.java:80) 
     at xautjzd.knn.hadoop.apache.KNN$KNNMapper.map(KNN.java 
:35) 
     at xautjzd.knn.hadoop.apache.KNN$KNNMapper.map(KNN.java 
:1) 
     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:1 
45) 
     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTas 
k.java:764) 
     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:36 
4) 
     at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
     at java.security.AccessController.doPrivileged(Native M 
ethod) 
     at javax.security.auth.Subject.doAs(Subject.java:415) 
     at org.apache.hadoop.security.UserGroupInformation.doAs 
(UserGroupInformation.java:1190) 
     at org.apache.hadoop.mapred.Child.main(Child.java:249) 

我的代碼:

enter image description here

+2

由於錯誤說有類型不匹配。您能否顯示您的驅動程序類以查看您爲地圖輸入設置的數據類型?基本上取決於您選擇的輸入格式,映射器將被授予密鑰。因此請確認它或張貼您的驅動程序代碼 – abhinav

回答

2

看起來你已經設置conf.setOutputKeyClass(Text.class)地方,因爲它應該是conf.setOutputKeyClass(DoubleWrtable.class)

相關問題