首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HBase FileInfo块

HBase FileInfo块
EN

Stack Overflow用户
提问于 2017-07-21 15:28:27
回答 1查看 38关注 0票数 0

在所有的HBase文章和书籍中,它都提到了以下关于HFiles中的Meta和FileInfo块的内容:

元数据块旨在保留大量数据,其关键字作为字符串,而FileInfo是一种简单映射,适用于关键字和值均为字节数组的小型信息。或者“元数据块很贵。用一堆序列化数据填充一个,而不是每个元数据实例一个元数据块。如果元数据很小,可以考虑添加到文件信息中。”

我想知道它为什么这么说。设计逻辑是什么,因为大数据应该保存在元数据中,而小数据应该保存在FileInfo中。

我之所以想知道这一点,是因为我们在项目的FileInfo中存储了一些信息。然而,随着时间的推移,我们存储的信息开始增长,我们现在FileInfo中的数据高达15-20MB。从上面的文本来看,我们似乎不应该这样做。但我们甚至不知道它对我们的系统造成了什么影响。

有人能解释一下这件事吗。我看过HFileFileInfo代码,找不到任何明显的原因。

EN

回答 1

Stack Overflow用户

发布于 2017-08-09 14:58:07

这看起来似乎是一个愚蠢的问题,但原因是FileInfo块就是所谓的“打开时加载”,顾名思义,它是在文件打开本身中加载的。因此,如果你在FileInfo中有大量数据,那么即使你不需要它,它仍然会被加载到内存中。另一方面,元块可以按需加载。因此,如果您有大量数据,最好考虑将其放在Meta中,而不是FileInfo中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45231609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档