hadoop nullwritable for rcfile格式文件

kninwzqo  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(417)

我不太理解hadoop中nullwriteable的概念。它的用途是什么?为什么outputkeyclass用于 RCFile 格式a NullWritable.class 和outputvalueclass a BytesRefArrayWritable.class ?

jqjz2hbq

jqjz2hbq1#

这是因为没有RCF文件的密钥。当您从纯文本文件(如csv)读取时,密钥通常是文件中的一个字节偏移量。由于rcfiles有一个列存储格式,所以实际上没有一个键可以用来标识行,因为行在不同的列集中是分段的。 NullWritable 本质上意味着 ignore this value .

wdebmtf2

wdebmtf22#

“mapreduce的map和reduce函数都是针对(键、值)成对结构的数据定义的”(wikipedia)。
这意味着您的数据必须以(键、值)对的形式进行结构化。但有时不需要使用钥匙,也不能将其设置为 Null 因为钥匙必须实现 WritableComparable . 这就是hadoop创建 NullWritable 班级。

相关问题