6

Avro を map reduce で使用することについてかなり混乱しており、従うべき適切なチュートリアルが見つかりません。

AvroJob や AvroMapper などのクラスは、入力と出力の両方が Avro データ ファイルである場合の問題に対応しているようです。入力が単なるプレーン テキストの場合はどうでしょうか。

具体的には:

私のマッパーは、LongWritable キーと Text 値を入力として受け取ります。Text キーと MyAvroRecord 値を発行します。

私のレデューサーは、Text キーと MyAvroRecords の Iterator を入力として取り、Text キーと MyAvroRecord 値を発行します。

これらの Text キーと MyAvroRecord 値をファイルに書き込む OutputFormat を取得するにはどうすればよいですか?

乾杯、デイブ

4

2 に答える 2

6

わかりました、それで私はこれを理解しました。

Text キーと MyAvroRecord 値を出力するマッパーではなく、AvroKey キーと AvroValue 値を生成するマッパーが必要でした。これにより、結果を直接 AvroReducer にフィードすることができ、AvroJob.setOutputSchema() を使用して出力を処理することができました (OutputFormat を実装する必要はまったくありませんでした)。

于 2012-03-21T03:11:07.693 に答える
0

別のアプローチ方法としては、マッパーの出力が AvroKey と AvroValue である必要はありません。reducer への入力となる一般的な出力タイプにすることができます。レデューサーでは、Avro 変換を行うことができます。Outputformat タイプを Avro に設定する。

よろしく、 スジョイ

于 2014-01-22T14:11:22.600 に答える