1. hbase的读数据流程
在分析读取流程之前我们还必要知道两个功能性的组件和HFIle的格式信息
HFILE
存储在hdfs中的hbase文件,这个文件中会存在hbase中的数据以kv范例表现,同时还会存在hbase的元数据信息,包罗整个hfile文件的索引巨细,形貌,k和v的匀称长度,文件中包罗的开始的key和竣事的key,以及中位数key,等信息便于检索,以及布隆过滤器等信息,这个数据在我们hbase举行查询读取的时间按照64KB为一个巨细举行读取内容数据,此中读取的元数据会全部加载,但是kv范例的真正存储数据会按照64KB为最小单位读取进来。
- # flush表的数据,清空memstore
- flush <table>
- # 查看命令为
- hbase hfile -m -b -p -f <hfile的文件路径>
- -m 打印元数据信息
- -b 打印块信息
- -p 打印数据内容
- -f 后面接文件
复制代码 例子:hfile的文件路径:
检察某一列的数据信息:
布隆过滤器:
一个利用hash表作为盘算规则的过滤器,也就是在写入数据到hbase的时间要先将数据写出到memstore中,在memstore写满了以后就会将数据以storeFile情势写出到磁盘上,这个时间也会天生一份对应数据的hash表文件,以metablock的情势存储到起来,它的功能非常实用,好比我们在查询数据的时间就可以起首将这个数据举行hash处理惩罚,然后和hash表举行比对,假如不存在可以直接制止扫描这个storeFile文件。在巨大的数据眼前可以举行高效的数据。
一句话:查询数据的时间将对其举行哈希处理惩罚,然后与哈希舆图举行比对,假如哈希表取到的值为空,阐明storeFile没有该要查询的数据,假如哈希表找到的值不为空,也不肯定存在要查询的数据。
blockCache
对应表数据的regionserver级别的缓存组件,告急利用规则就是在查询数据的时间也会将查询效果缓存到regionserver对应的blockCache组件中,下次查询的时间可以直接利用前次查询的效果,blockCache中存储的数据内存包罗索引文件,布隆过滤器的值和数据的key,其他的value数据,会以64Kb为巨细举行存储,假如数据逾期了先清算value的数据,而索引等数据和元数据信息不会清算出去。
blockCache是
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |