关于hbase scan查询的效率----filterlist(急)
scan.setFilters()
通过filter设置的条件查不到数据时,响应速度非常慢,大概在十几秒,有时会超时,
但可以查到数据时,响应速度只有几百ms,差距非常大
环境:
数据10W条,表为单一列族,30-40的列
部分代码:
Scan scan = new Scan();
FilterList filters = new FilterList();
for (String[] param : params)
{
//param[0]为列名,param[1]为相应的值
filters.addFilter(new SingleColumnValueFilter("INFO".getBytes(), param[0].getBytes(), CompareOp.EQUAL, param[1].getBytes()));
}
scan.setFilter(filters);
scan.setCaching(count + 1);
ResultScanner resultScanner = null;
resultScanner = table.getScanner(scan);
//通过debug,查不到数据的情况下在resultScanner.next()就已经停住不动了
while ((result = resultScanner.next()) != null)
{
....
}
有人清楚是什么原因造成的么? 非常感谢
通过filter设置的条件查不到数据时,响应速度非常慢,大概在十几秒,有时会超时,
但可以查到数据时,响应速度只有几百ms,差距非常大
环境:
数据10W条,表为单一列族,30-40的列
部分代码:
Scan scan = new Scan();
FilterList filters = new FilterList();
for (String[] param : params)
{
//param[0]为列名,param[1]为相应的值
filters.addFilter(new SingleColumnValueFilter("INFO".getBytes(), param[0].getBytes(), CompareOp.EQUAL, param[1].getBytes()));
}
scan.setFilter(filters);
scan.setCaching(count + 1);
ResultScanner resultScanner = null;
resultScanner = table.getScanner(scan);
//通过debug,查不到数据的情况下在resultScanner.next()就已经停住不动了
while ((result = resultScanner.next()) != null)
{
....
}
有人清楚是什么原因造成的么? 非常感谢
...全文
相关推荐
hbase分页查询实现
hbase分页查询实现
HBase实战:通话记录分析
本文介绍了基于HBase实现用户通话记录管理系统的完整开发流程。系统模拟10个用户1年的通话记录,每个用户生成1000条记录,包含手机号、通话时长、对方号码、日期和通话类型等关键字段。重点阐述了HBase表设计(采用手机号+反向时间戳作为rowkey)、数据操作(增删改查)、过滤器应用(前缀过滤和列值过滤)以及Protocol Buffer压缩优化技术。通过对比测试,使用Protocol Buffer序列化后存储空间减少约64.4%,有效提升了存储效率。系统实现了用户通话记录查询、主被叫筛选等核心功能。
java操作Hbase之比较过滤器RowFilter的使用源码
java操作Hbase之比较过滤器RowFilter的使用源码,附带所需全部jar包,欢迎下载学习。
hbase分页查询实现[归类].pdf
hbase分页查询实现[归类].pdf
hbase一些查询
收集的hbase的查询代码,下载后自己整理一下


