hbase中过滤器如何多个使用

木子雨--鱼 2015-07-16 09:36:35
在hbase中我有两个过滤器,但是需要分开使用,就是先使用一个过滤器之后,需要对过滤器重置,然后使用第二个过滤器,大致代码如下
Filter filter1 = new RowFilter(CompareOp.EQUAL,
new BinaryPrefixComparator("310003000017_02".getBytes()));
// EQUAL =
Filter filter2 = new RowFilter(CompareOp.EQUAL,
new SubstringComparator("G137H"));
Scan s = new Scan();

s.setFilter(filter1);
ResultScanner rs = table.getScanner(s);
for (Result r : rs) {
System.out.println("rowkey:" + new String(r.getRow()));
}

Scan scan = new Scan();

scan.setFilter(filter2);
ResultScanner res = table.getScanner(s);
for (Result r : res) {
System.out.println("rowkey:" + new String(r.getRow()));
}

第一个过滤器的作用是找到310003000017_02开头的行并输出行键,第二个过滤的作用是找到包含G137H的行并输出行键,这两个过滤器需要分别使用。
如果第一次使用了过滤器之后不对过滤器进行重置,那么使用第二个过滤器时出现的结果是不对的,有哪位大神知道如何使用多个过滤器吗
...全文
205 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧