1

タイプ「org.apache.hadoop.typedbytes.TypedBytesWritable」のキーと値のペアを持つシーケンシャルファイルがあります。このファイルをHadoopジョブへの入力として提供し、マップでのみ処理する必要があります。つまり、削減が必要なことは何もする必要がないということです。

1)FileInputFormatをSequentialFileとして指定するにはどうすればよいですか?

2)マップ関数のシグネチャは何になりますか。

3)Reduceの代わりにマップから出力を取得するにはどうすればよいですか?

4

1 に答える 1

3

1)FileInputFormatをSequentialFileとして指定するにはどうすればよいですか?

SequenceFileAsBinaryInputFormatを入力フォーマットとして設定します。これがSequenceFileAsBinaryInputFormatクラスのコードです。

これがコードです

JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);

2)マップ関数のシグネチャは何になりますか。

マップは、キーおよび値の型としてBytesWritableを使用して呼び出されます。

3)Reduceの代わりにマップから出力を取得するにはどうすればよいですか?

プロパティを0に設定しmapred.reduce.tasksます。マップの出力は、ジョブの最終出力になります。


また、SequenceFileAsTextInputFormatも確認してください。マップは、キーと値のタイプとしてテキストを使用して呼び出されます。

于 2012-01-11T14:26:10.587 に答える