Hadoop API と完全に混同しています。(常に変化していると思います)
私が間違っていなければJobConf
、 java から map reduce ジョブを実行する代わりにandクラスdeprecated
を使用することになっていました。最近リリースされたのはもはや非推奨ではないようです!Job
Configuration
hadoop 1.0.0
JobConf
だから私はマップ削減ジョブを実行するためにジョブと構成クラスを使用しています。ここで、マップ出力の一部である特定の値に基づいて、レデューサー出力ファイルをフォルダー構造に配置する必要があります。私はいくつかの記事を読み、OutputFormat
クラスでそれを達成できることを発見しましたが、このクラスは 2 つのパッケージに含まれています。
org.apache.hadoop.mapred and
org.apache.hadoop.mapreduce
このjob
オブジェクトでは、出力フォーマット クラスを次のように設定できます。
job.setOutputFormatClass(SomeOutputFormat.class);
SomeOutputFormat
extends
と言うとorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat
、これという名前のメソッドが 1 つ得られますgetRecordWriter();
が、これは出力パスをオーバーライドするのにまったく役立ちません。
を使用する別の方法がありますが、それもクラスjobConf
の設定に関してはうまくいかないようです。mappers, reducers, partitions, sorting and grouping
私が見逃していることは非常に明白ですか?値に基づくフォルダー内に削減出力ファイルを書き込みたい。たとえば、SomeOutputPrefix/Value1/Value2/realReduceFileName
ありがとう!