本文主要是介绍HBASE Rowkey filter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
HBASE通过Rowkey可以直接定位行,速度很快,在filter中,有2个API可以过滤主键:1. RowFilter 行过滤器, 依靠行键来过滤
Scan scan = new Scan();
Filter rowfilter = new RowFilter(CompareOp.EQUAL, new BinaryPrefixComparator(Bytes.toBytes("A131420033-1007-9223370539574828268")));
scan1.setFilter(rowfilter);
2. setRowPrefixFilter
Scan scan = new Scan();
scan.setRowPrefixFilter(Bytes.toBytes("A131420033-1007-9223370539574828268"));
这2者的区别差别太大,上面的rowfilter一定是走全表扫描,即使他的解释是通过行键来过滤, 而直接通过scan. setRowPrefixFilter 才是真正的走行键过滤。
HBASE的数据动辄几亿几十亿,全表扫描是觉得不可以忍受的, HBASE如果rowkey设计不合理, 根本就不可用,除非依赖二级索引。
这篇关于HBASE Rowkey filter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!