在所有的HBase的文章和书籍也提到了以下有关HFiles的元和的FileInfo块: -HBase的FileInfo的阻止
“元块的设计,保持了大量的数据,其作为一个String键,而FileInfo是一个简单的Map首选,用于输入字节数组的键和值的小信息。“ 或 ”元数据块很昂贵,用一堆序列化数据填充一个元素,而不是为每个元数据实例创建一个元数据块。如果元数据很小,请考虑添加到文件信息“
我想明白它为什么这么说。什么是设计逻辑,因为大数据应该保留在Meta中,而在FileInfo
中很小。
我想知道这个的原因是我们在我们的项目的FileInfo中存储了一些信息。然而,随着时间的推移,我们存储的信息开始增长,现在我们在FileInfo中拥有高达15-20MB的数据。从上面的文字看来,我们似乎不应该这样做。但我们甚至不知道它对我们的系统造成什么影响,如果有的话。
有人可以请说明这一点。我查看了HFile
和FileInfo
的代码,找不到任何明显的原因。