理解Hbase RowKey的字典排序,以及设计

理解Hbase RowKey的字典排序,以及设计
写点自己的理解和实践。

HBase是三维有序存储的,是指rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度是依照ASCII码表排序的。(比如A排在a前面)

先rowkey升序排序,
rowkey相同则column key升序排序
rowkey、column key相同则timestamp降序排序
====

1、由于Scan是全表扫描,任何时候,在使用Scan一定要加上StartRowKey和StopRowKey,限定扫描的范围

3333333_

Filter  prefilter

3333333_11111

3333333_22212

3333334_

3333333_   startrowkey   

3333334_   stoprowkey    

2、对于查询前缀的数据,不要去使用过滤器中的前缀匹配过滤器,在我们上面设计的RowKey中,只要对要查询的前缀字段转化为StartRowKey和StopRowKey,一个技巧比如:如果要查询前缀为:<userId>-<date>(具体形式比如为:000001_20170118),我们可以设计StartRowKey为000001_20170118_0以及StopRowKey为000001_20170119(注意:scan的StartRowKey、StopRowKey是左闭又开,所以不会返回这一列)

3、如果考虑网络传输,以及查询的时间,如果只需要特定的列簇信息或者列,可以指定只扫描特定的列簇或者列,可以提高性能。

转载于:https://blog.csdn.net/timchen525/article/details/77120471

https://blog.csdn.net/zhaominpro/article/details/79423328

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值