开发者社区> 问答> 正文

HFile分为那六个部分?

HFile分为那六个部分?

展开
收起
游客fbdr25iajcjto 2021-12-12 23:52:17 2388 0
1 条回答
写回答
取消 提交回答
  • Data Block 段–保存表中的数据,这部分可以被压缩

    Meta Block 段 (可选的)–保存用户自定义的kv对,可以被压缩。

    File Info 段–Hfile的元信息,不被压缩,用户也可以在这一部分添加自己的元信息。

    Data Block Index 段–Data Block的索引。每条索引的key是被索引的block的第一条记录的key。

    Meta Block Index段 (可选的)–Meta Block的索引。

    Trailer– 这一段是定长的。保存了每一段的偏移量,读取一个HFile时,会首先读取Trailer,Trailer保存了每个段的起始位置(段的Magic Number用来做安全check),然后,DataBlock Index会被读取到内存中,这样,当检索某个key时,不需要扫描整个HFile,而只需从内存中找到key所在的block,通过一次磁盘io将整个 block读取到内存中,再找到需要的key。DataBlock Index采用LRU机制淘汰。

    2021-12-12 23:52:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载