0

我不太明白 Hadoop 中 NullWritable 的概念。它的用途是什么,为什么 outputKeyClass 是RCFile格式 aNullWritable.class和 outputValueClass a 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 回答