0

Hadoop の NullWritable の概念がよくわかりませんでした。それは何のために使用され、なぜRCFileフォーマット aNullWritable.classおよび outputValueClass a の outputKeyClass なのBytesRefArrayWritable.classですか?

4

2 に答える 2

2

これは、RCFiles のキーがないためです。CSV などのプレーン テキスト ファイルから読み取る場合、キーは通常、ファイルへのバイト オフセットです。RCFile は列形式のストレージ形式であるため、行は異なる列セットに断片化されているため、行を識別するために使用できるキーは実際にはありません。 NullWritableあくまでも手段ignore this valueです。

于 2014-04-30T22:06:09.623 に答える
1

「MapReduce の Map 関数と Reduce 関数はどちらも、(キー、値) ペアで構造化されたデータに関して定義されています」(ウィキペディア)。

これは、データが (キー、値) ペアで構造化されている必要があることを意味します。Nullただし、キーを使用する必要がなく、キーが を実装する必要があるため、キーを に設定できない場合もありますWritableComparable。そのため、Hadoop はNullWritableクラスを作成しました。

于 2014-05-01T15:58:43.477 に答える