与使用文本(即)相比,NullWritable
使用null
键/值有什么优势。我从《Hadoop:权威指南》一书中看到以下内容。null
new Text(null)
NullWritable
是 的一种特殊类型Writable
,因为它的序列化长度为零。没有字节被写入流或从流中读取。它用作占位符;例如,在 MapReduce 中,NullWritable
当您不需要使用该位置时,可以将键或值声明为 a — 它有效地存储了一个常量空值。当您想要存储值列表时, NullWritable 也可以用作键SequenceFile
,而不是键值对。它是一个不可变的单例:可以通过调用来检索实例NullWritable.get()
我不清楚如何使用NullWritable
? 在开始的输出文件中是否会有一个常量值指示该文件的键或值是null
,以便 MapReduce 框架可以忽略读取null
键/值(以 为准null
)?null
另外,文本实际上是如何序列化的?
谢谢,
文卡特