HBase如何启用对HDFS的随机访问?

马修·莫森(Matthew Moisen)

假设HBase是一个数据库,其文件存储在HDFS中,那么它如何实现对HDFS中单个数据的随机访问?用哪种方法完成?

Apache HBase参考指南中

HBase在内部将数据放入HDFS上存在的索引“ StoreFiles”中,以进行高速查找。有关HBase如何实现其目标的更多信息,请参见第5章,数据模型和本章的其余部分。

扫描这两个章节并没有发现这个问题的高级答案。

那么HBase如何使对HDFS中存储的文件的随机访问成为可能?

大卫

HBase将数据存储在按其键索引(排序)的HFile中。给定一个随机密钥,客户端可以确定从哪个区域服务器请求行。区域服务器可以确定从哪个区域检索行,然后对区域进行二进制搜索以访问正确的行。这可以通过拥有足够的统计信息来了解块的数量,块大小,开始键和结束键来完成。

例如:一个表可能包含10 TB的数据。但是,该表分为4GB大小的区域。每个区域都有一个开始/结束键。客户端可以获取表的区域列表,并确定哪个区域具有要查找的键。区域被分解为块,以便区域服务器可以对其块进行二进制搜索。块实际上是键,属性,值,版本的一长串列表。如果您知道每个块的起始键是什么,则可以确定要访问的文件以及开始读取的字节偏移量(块)以查看二进制搜索中的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

hbase随机写入如何工作

来自分类Dev

如何使用 HDFS 3.1.0 设置 HBase?

来自分类Dev

如何从Hbase访问Phoenix表

来自分类Dev

如何启用hdfs和映射的审核日志?

来自分类Dev

如何在Linux上启用随机PID?

来自分类Dev

随机访问文件如何工作

来自分类Dev

如何将HBase表以Parquet格式移动到HDFS?

来自分类Dev

如何在现有的Hbase表上启用压缩?

来自分类Dev

HBase HDFS Zookeeper

来自分类Dev

如何启用对区域监视服务的访问?

来自分类Dev

如何启用ElasticSearch http访问日志

来自分类Dev

如何启用Docker API通过http访问

来自分类Dev

如何以随机顺序将数据帧写入hdfs csv?

来自分类Dev

如何访问数组内的随机索引

来自分类常见问题

如何在UWP MediaPlayer中启用随机播放模式

来自分类Dev

如何在UWP MediaPlayer中启用随机播放模式

来自分类Dev

“ HDFS缺乏随机读写访问权限”是什么意思?

来自分类常见问题

HBase与Hadoop / HDFS之间的区别

来自分类Dev

从HBase中的HDFS导入表

来自分类Dev

HDFS向HBase提供什么?

来自分类Dev

如何在Hive中访问HBase表,反之亦然?

来自分类Dev

如何在嵌入式模式下从 Drill 访问 HDFS?

来自分类Dev

如何在 HDFS 中查找访问频率较低的文件

来自分类Dev

如何访问系统托盘并启用更多图标?

来自分类Dev

如何在Django中启用基本访问身份验证

来自分类常见问题

如何在Elasticsearch 2.0中启用远程访问/请求?

来自分类Dev

如何在centos中启用mysql的远程访问?

来自分类Dev

如何弹出“在隐私设置中启用访问权限”视图

来自分类Dev

如何在Android中以编程方式启用位置访问?