複数のマッパー クラスを 1 つのジョブに設定できますか?
たとえば、HDFS からの csv 入力ファイルがあります。私には 2 つのタスクがあります。1 つ目は、csv 入力ファイルから 2 つのフィールドをカウントし、結果を出力ファイルに取得することです。2 つ目は、同じ csv 入力ファイルから別の 2 つのフィールドをカウントし、結果を別の出力ファイルに取得することです。リデューサーも同じです。
1 つのジョブを使用してこれを達成し、それらを同時に処理するにはどうすればよいでしょうか? (最初のものを実行したくないし、最初のものの終了後に 2 番目を実行したくないので、それらを並行して処理させたい)。
次のコードを試します。
job1.setMapperClass(Mapper1.class);
job1.setReducerClass(LogReducer.class);
job1.setMapperClass(Mapper2.class);
job1.setReducerClass(LogReducer.class);
試してみましたが、うまくいきません。2 番目の結果しか表示されず、最初の結果は消えてしまいました。