hbase 多个过滤器组合(列表)
使用FilterList要保证过滤器的顺序需要使用List<Filter>
private static void mutilFilterData() throws IOException{
Table table = helper.getConnection().getTable(TableName.valueOf("testtable")); List<Filter> filters = new ArrayList<Filter>(); Filter filter1 = new RowFilter(CompareOperator.GREATER_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("rowKey60")));
filters.add(filter1); Filter filter2 = new RowFilter(CompareOperator.LESS_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("rowKey69")));
filters.add(filter2); Filter filter3 = new QualifierFilter(CompareOperator.EQUAL,
new RegexStringComparator("username"));
filters.add(filter3); FilterList filterList1 = new FilterList(FilterList.Operator.MUST_PASS_ALL,filters); Scan scan = new Scan();
scan.setFilter(filterList1);
ResultScanner scanner1 = table.getScanner(scan);
System.out.println("Results of scan #1 - MUST_PASS_ALL:");
int n = 0;
for (Result result : scanner1) {
for (Cell cell : result.rawCells()) {
System.out.println("Cell: " + cell + ", Value: " +
Bytes.toString(cell.getValueArray(), cell.getValueOffset(),
cell.getValueLength()));
n++;
}
}
scanner1.close();
table.close(); }
输出结果:
Cell: rowKey60/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user60
Cell: rowKey61/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user61
Cell: rowKey62/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user62
Cell: rowKey63/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user63
Cell: rowKey64/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user64
Cell: rowKey65/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user65
Cell: rowKey66/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user66
Cell: rowKey67/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user67
Cell: rowKey68/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user68
Cell: rowKey69/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user69
hbase 多个过滤器组合(列表)的更多相关文章
- HBase笔记6 过滤器
过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器 ...
- HBase学习之路 (十一)HBase的协过滤器
协处理器—Coprocessor 1. 起源 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hba ...
- HBase shell scan 过滤器用法总结
比较器: 前面例子中的regexstring:2014-11-08.*.binary:\x00\x00\x00\x05,这都是比较器.HBase的filter有四种比较器: (1)二进制比较器:如’b ...
- javascript实现组合列表框中元素移动效果
应用背景:在页面中有两个列表框,需要把其中一个列表框的元素移动到另一个列表框 . 实现的基本思想: (1)编写init方法对两个列表框进行初始化: (2)为body添加onload事件调用init方 ...
- [hbase] HBase内置过滤器的一些总结
http://blog.csdn.net/cnweike/article/details/42920547
- HBase之过滤器
filter ==> SQL 中的Where filter的执行流程: 过滤器在客户端创建,然后通过RPC发送到服务器上,由服务器执行 基础过滤器: 比较器: Comparator D ...
- hbase权威指南学习笔记--过滤器
1.使用hbase是shell客户端进行过滤查询 scan 'testtable',{COLUMNS=>'colfam1:col-0',FILTER=>RowFilter.new(Comp ...
- hbase各种遍历查询shell语句 包含过滤组合条件
import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Li ...
- HBase 学习之路(七)——HBase过滤器详解
一.HBase过滤器简介 Hbase提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predica ...
随机推荐
- Windows系统环境变量之path环境变量(Java, Python环境变量配置)
系统: Windows10 path系统环境变量的作用: Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外 ...
- POJ2251-Dungeon Master(3维BFS)
You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...
- Oracle扩展包(pipe,alert,job,scheduler)
--定义包中函数的纯度级别 create or replace package purityTest is type dept_typ is table of dept%rowtype index b ...
- Flink架构分析之RPC详解
主要抽象 Flink RPC 框架主要抽象了RpcService,RpcEndpoint,RpcGateway,RpcServer这几个接口,具体实现可以采用多种方式,比如:akka,netty Rp ...
- 【Docker】第四篇 Docker仓库管理
一.仓库概述 仓库(Repository):Docker仓库主要用于镜像的存储,它是镜像分发.部署的关键.仓库分为公共仓库和私有仓库. 注册服务器(Registry)和仓库区别:注册服务器上往往存放着 ...
- ubuntu下import matplotlib错误解决办法
环境:ubuntu16.04,python2.7,tensorflow1.4.0 问题: ImportError: No moudule named _tkinter, please install ...
- Ubuntu 1804 本地显示远程服务器文件
本地是 Ubuntu 1804 最近想查看服务器上的图片,之前都是scp到本地,感觉太麻烦,于是查到有一种方法,ssh图形界面那种: 1.在File 界面下,左侧文件栏的最后一列有 “+ Other ...
- 封装js插件学习指南
封装js插件学习指南 1.原生JavaScript插件编写指南 => 传送门 2.如何定义一个高逼格的原生JS插件 =>传送门 3.手把手教你用原生JavaScript造轮子 => ...
- Linux下oracle启动/关闭监听(bash:lsnrctl:command not found)
打开终端 切换帐户 # su - Oracle 启动监听 $ lsnrctl start 关闭监听 $ lsnrctl stop 切换帐户一定要加 "-" 否则会出现: bas ...
- 20172329 2018-2019-2 《Java软件结构与数据结构》实验二报告
20172329 2018-2019-2 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 王文彬 学号:2017232 ...