Hadoop構成パラメーターのセットが2つあることに気付きました。1つはmapred。*を使用し、もう1つはmapreduceを使用します。。これらは古いAPIと新しいAPIが原因である可能性があると思いますが、誤解しない限り、これらは新しいAPIに共存しているようです。私は正しいですか?もしそうなら、mapredに使用される一般化されたステートメントはありますか?そしてmapreduceには何がありますか?*?
3 に答える
0.20.2のソースを調べると、mapreduce.*
プロパティはごくわずかであり、ジョブの入出力形式、マッパー/コンバイナー/リデューサー、およびパーティショナークラスの構成を中心に展開されます(これらは、新しいAPIが使用されていることをジョブクライアントに通知します。ユーザーによる-ソースを調べてo.a.h.mapreduce.Job
、setUseNewAPI()
メソッド)
mapreduce.inputformat.class
mapreduce.outputformat.class
mapreduce.partitioner.class
mapreduce.map.class
mapreduce.combine.class
mapreduce.reduce.class
さらにいくつかのプロパティがありますが、それらは2次構成です
新しいAPIバージョンか古いAPIバージョンかに関係なく、入力形式と出力形式は通常、mapred.*
プロパティを使用します
たとえば、マップが使用する入力パスを減らすようにシグナルを送信しますmapred.input.dir
(新しいAPIを使用しているか古いAPIを使用しているかに関係なく)。出力プロパティについても同じですmapred.output.dir
したがって、ifの長短は、プロパティ(FileInputFormat.setInputPaths(Job, String)
)を構成するためのユーティリティメソッドがない場合は、ソースを確認する必要があります
はい、マップされたライブラリは非推奨になりました。mapreduceライブラリはhadoop0.20.1の新機能です。
ただし、mapredが提供する機能の一部は引き続き使用できます。そのため、ディレクトリにまだあります。
引き続き使用できる機能については、次のリンクをご覧ください:http: //hadoop.apache.org/common/docs/r0.20.0/api/org/apache/hadoop/mapred/package-summary.html
hadoop.mapred
非推奨になりました。
0.20.1
使用前のバージョンmapred
。それ以降のバージョンはを使用しますmapreduce
。
私はそれらが共存しているとは思いません。