0

ここからダウンロードしたHadoopバージョン0.22.0を使用しています。このチュートリアルに従ってカスタムマッパーとレデューサーの作成を開始しましたMapper<K1, V1, K2, V2>が、すべてのマッパークラスで実装されるインターフェイスが非推奨になっていることがわかりました。すべてのレデューサーによって実装されることを意図したインターフェースReducer<K2, V2, K3, V3>(少なくともチュートリアルによれば)も非推奨になります。MapReduceBaseとのようなクラスもそうJobConfです。これらはすべて、すべてのカスタムマッパーとレデューサーに必要なコアクラスとインターフェイスですよね。javadocには、これらの非推奨クラスの代わりとして何を使用すべきかについての注記はありません。

では、廃止されたものの代わりに、どのインターフェースとクラスを使用する必要がありますか?それともとにかくそれらを使用する必要がありますか?なぜそれらは非推奨になっているのですか?何が起こっているのか、うまくいかないのでどうしたらいいのか説明してください。

4

2 に答える 2

1

org.apache.hadoop.mapredパッケージのクラスは、古いMR APIからのものであり、 org.apache.hadoop.mapreduceからのクラスは新しいAPIからのものです。すべてのクラスが古いAPIから新しいAPIに移植されていないことに注意してください。これはSOからの同様のスレッドです。

于 2012-10-31T14:23:56.523 に答える
0

インターフェイスと基本クラスの代わりに使用する必要があるMapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>パッケージに同じ名前のクラス (インターフェイスではありません!) があります。org.apache.hadoop.mapreduceレデューサーと同じ話: Reducer<KEYIN, VALUEIN, KEYOUT, VALUEOUT>package にクラスがありますorg.apache.hadoop.mapreduce

どうすればいいのかなどはまだわかりませんが、わかっJobConfたら回答を更新します。


編集: ClassConfigurationは の代わりに使用されますJobConf

于 2012-10-31T14:13:34.420 に答える