关于HBase 中Scan扫描的优化(重要)

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 
 

猜你喜欢

转载自blog.csdn.net/yinni11/article/details/86175278
今日推荐