4

OutputFormat通常、Hadoop の map/reduce ジョブは、(クラスを使用して) ジョブの出力ファイルに書き込まれるキーと値のペアのリストを生成します。キーと値の両方が役立つことはほとんどありません。通常、キーまたは値のいずれかに必要な情報が含まれています。

出力ファイルのキーを抑制したり、出力ファイルの値を抑制したりするオプション (クライアント側) はありますか? 特定の 1 つのジョブに対してのみこれを実行したい場合は、OutputFormatキーまたは値を無視する新しい実装を作成できます。しかし、より多くの仕事に再利用できる汎用ソリューションが必要です。

編集:「より多くのジョブで再利用可能な汎用ソリューションが必要です」という意味が不明な場合があります。例を挙げて説明しましょう:

Mapper、、クラスReducerがたくさん用意されているとしましょう。OutputFormatsそれらを異なる「ジョブ」に結合し、それらの「ジョブ」を異なる入力ファイルで実行して、さまざまな出力ファイルを生成したいと考えています。場合によっては (一部のジョブでは) キーを抑制する必要があるため、キーは出力ファイルに書き込まれません。出力フォーマットのリデューサーであるマッパーのコードを変更したくありません - それらの数が多すぎて変更できません。特定のマッパー、リデューサー、または出力形式のコードを変更する必要のない汎用ソリューションが必要です。それ、どうやったら出来るの?

4

1 に答える 1

0

NullWritableHadoop フローの最終ステップで、 a をキーまたは値として書き込むように構成できない理由はありません。そのファイルが後続の map reduce ステップであまり使用されるとは思わないでください。

于 2012-11-26T22:40:08.717 に答える