OutputFormat
通常、Hadoop の map/reduce ジョブは、(クラスを使用して) ジョブの出力ファイルに書き込まれるキーと値のペアのリストを生成します。キーと値の両方が役立つことはほとんどありません。通常、キーまたは値のいずれかに必要な情報が含まれています。
出力ファイルのキーを抑制したり、出力ファイルの値を抑制したりするオプション (クライアント側) はありますか? 特定の 1 つのジョブに対してのみこれを実行したい場合は、OutputFormat
キーまたは値を無視する新しい実装を作成できます。しかし、より多くの仕事に再利用できる汎用ソリューションが必要です。
編集:「より多くのジョブで再利用可能な汎用ソリューションが必要です」という意味が不明な場合があります。例を挙げて説明しましょう:
Mapper
、、クラスReducer
がたくさん用意されているとしましょう。OutputFormats
それらを異なる「ジョブ」に結合し、それらの「ジョブ」を異なる入力ファイルで実行して、さまざまな出力ファイルを生成したいと考えています。場合によっては (一部のジョブでは) キーを抑制する必要があるため、キーは出力ファイルに書き込まれません。出力フォーマットのリデューサーであるマッパーのコードを変更したくありません - それらの数が多すぎて変更できません。特定のマッパー、リデューサー、または出力形式のコードを変更する必要のない汎用ソリューションが必要です。それ、どうやったら出来るの?