gpt4 book ai didi

hadoop - Hbase 将数据存储在哪里?

转载 作者:可可西里 更新时间:2023-11-01 14:20:32 27 4
gpt4 key购买 nike

我是 HBase 的新手。目前我正在使用 hortonworks 沙箱 hdp2。在学习Hbase的过程中,我遇到了一些问题。

  1. hbase在哪里存储数据?

  2. 如果它存储在 HDFS 上,那么它如何执行更新操作,因为 hdfs 是一次写入多次读取

最佳答案

默认情况下,Hbase 将数据存储在 HDFS 中。可以在其他分布式文件系统(如 Amazon s3、GFS 等)上运行 HBase。我们不能编辑 hdfs,但我们可以将数据附加到 HDFS。 HDFS 支持附加功能。

HBase 使用HFile 作为将表存储在HDFS 上的格式。 HFile 使用行键按字典顺序存储键。它是一种用于存储键值对的 block 索引文件格式。 block 索引意味着数据存储在一系列 block 中,并在文件末尾维护一个单独的索引来定位 block 。当读取请求到来时,会在索引中搜索 block 位置。然后从该 block 中读取数据。

Regionserver 在内存缓存中维护表更新的内存副本。内存中的副本会定期刷新到光盘。 HBase 表的更新存储在存储重做记录的 HLog 文件中。在区域恢复的情况下,这些日志将应用于最后提交的 HFile 并重建表的内存中图像。重建后,内存中的副本被刷新到光盘,以便光盘副本是最新的。

Hbase 保留您更新的版本。早期版本将与最新版本一起保留。默认情况下,保留版本的数量为 3。这是在您执行更新时保存的新副本。

关于hadoop - Hbase 将数据存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com