美文网首页
Habase读流程

Habase读流程

作者: 你值得拥有更好的12138 | 来源:发表于2020-04-10 16:20 被阅读0次

整体流程

image.png

扫描Storfile的具体流程

盗图,侵权即删

1.首先构造Scanner体系(RegionScanner -> StoreScanner -> StoreFileScanner&MemStoreScanner)
2.构成StoreScanner优先队列队列,与列族一 一映射
3.根据rowkey,timestamp过滤掉不符合条件的StoreFileScanner(即保留符合条件的HFile)
4.使用HFile中块索引定位到符合条件的起始行(K-V键值对)
5.使用上一步的KV进行排序,并构建一个StoreFileScanner的优先队列
6.从第一个HFile开始扫描,并判断是否符合条件
7.然后从第二个HFile扫描,第一个StoreFileScanner内部指针移动到下一行,并入优先队列的最后
8.重复6-7直到扫描完所有的满足条件的数据


盗图,侵权即删

Habase 的K-V结构

K: 行键,列族,列信息,时间戳,类型(Get/Scan/Put/Delete)

上文提到KeyValue中Key由RowKey,ColumnFamily,Qualifier ,TimeStamp,KeyType等5部分组成,HBase设定Key大小首先比较RowKey,RowKey越小Key就越小;RowKey如果相同就看CF,CF越小Key越小;CF如果相同看Qualifier,Qualifier越小Key越小;Qualifier如果相同再看Timestamp,Timestamp越大表示时间越新,对应的Key越小。如果Timestamp还相同,就看KeyType,KeyType按照DeleteFamily -> DeleteColumn -> Delete -> Put 顺序依次对应的Key越来越大。

BoomFilter

1.Hash函数
2.bit数组
3.判定不存在,一定不存在
4.判定存在,可能存在

相关文章

网友评论

      本文标题:Habase读流程

      本文链接:https://www.haomeiwen.com/subject/xhprmhtx.html