0 レデューサーと ID レデューサーの違いについての理解を確認しようとしています。
- reducer が 0 の場合は、reduce ステップがスキップされ、mapper の出力が最終出力になることを意味します。
- Identity Reducer は、シャッフル/ソートがまだ行われることを意味しますか?
あなたの理解は正しいです。私はそれを次のように定義します:マップ結果のソートが必要ない場合-あなたは0を減らして設定し、ジョブはマップのみと呼ばれます。
マッピング結果を並べ替える必要があるが、集計は必要ない場合は、IDリデューサーを選択します。
そして、全体像を完成させるために、3番目のケースがあります。集約が必要であり、この場合、レデューサーが必要です。
Identity Reducer を使用するもう 1 つのユース ケースは、すべての結果を <# of reducers> 個の出力ファイルに結合することです。これは、Amazon Web Services を使用して S3 に直接書き込む場合、特にマッパーの出力が小さく (例: レコードの grep/検索)、多数のマッパー (例: 1000 個) がある場合に便利です。
ビジネス要件によって異なります。ワードカウントを行っている場合は、マップ出力を減らして合計結果を取得する必要があります。単語を大文字に変更したいだけなら、reduce は必要ありません。