削減ジョブの出力先として HBase テーブルを使用する MapReduce ジョブがあります。私のレデューサー クラスTableMap
は package のインターフェイスを実装し、パッケージのクラスの
関数org.apache.hadoop.hbase.mapred
を使用してジョブを構成しました。initTableReduceJob()
TableMapReduceUtil
org.apache.hadoop.hbase.mapred
しかし、ジョブを実行すると、削減段階で次のエラーが発生しました
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
パッケージのままでいいのでしょうか?