我有一個MapReduce作業,它將HBase表作爲我縮減作業的輸出目標 。我減速器類實現 包org.apache.hadoop.hbase.mapred
的TableMap
接口,和我用initTableReduceJob()
功能TableMapReduceUtil
類從 包org.apache.hadoop.hbase.mapred
來配置我的工作。HBase中的舊式mapred API不起作用
但是當我跑我的工作,我在減少階段得到了以下錯誤
java.lang.NullPointerException
at org.apache.hadoop.mapred.Task.getFsStatistics(Task.java:1099)
at
org.apache.hadoop.mapred.ReduceTask$OldTrackingRecordWriter.<init>(ReduceTask.java:442)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:490)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:420)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
我HBase的版本是0.94.0和我的Hadoop版本是1.0.1。
我發現類似我的問題後: https://forums.aws.amazon.com/thread.jspa?messageID=394846
誰能給我說說爲什麼會這樣一些暗示?我應該堅持 與org.apache.hadoop.hbase.mapreduce
包?
是否解決了上述問題?如果是的話,你可以讓我知道有什麼問題。 – Kalai