3

私は CDH4 を使用しており、新しい mapreduce API を使用して MapReduce アプリケーションを作成しました。hadoop-core-1.0.3.jar に対してコンパイルしましたが、Hadoop クラスターで実行すると、次のエラーが発生します。

エラー: インターフェース org.apache.hadoop.mapreduce.TaskAttemptContext が見つかりましたが、クラスが予期されていました

同じ問題について話しているように見えるこのStackOverflowの質問を参照しました。答えは、Hadoop-core-2.X.jar ファイルに対してコードをコンパイルすることを示唆していますが、そのようなものを見つけることができません。

では、CDH4 で問題なく動作するようにコンパイルするにはどうすればよいでしょうか。

4

2 に答える 2

8

上記の質問に投稿したリンクの回答では、Hadoop 2.0 ライブラリに対してコンパイルするよう求められました。ちなみに、Hadoop 1.0 の投稿では、コンパイルに 1 つの Hadoop Core jar を使用する代わりに、2 つ (またはそれ以上) の異なる jar が使用されます。

私が使用したもの: hadoop-common-2.0.2-alpha.jar hadoop-mapreduce-client-core-2.0.2-alpha.jar

私のコードをコンパイルした後、前述のエラーが発生することなく正常に実行されました。

于 2013-01-16T10:03:35.317 に答える