HBase多条件筛选查询方案
发布日期:2021-08-17 10:07:45 浏览次数:81 分类:技术文章

本文共 650 字,大约阅读时间需要 2 分钟。

    最近的项目需要使用Hbase做实时查询,由于Hbase只支持一级索引,也就是使用rowkey作为索引查询,所以对于多条件筛选查询的支持不够,在不建立二级索引的情况下,只能使用Hbase API中提供的各种filter过滤器进行筛选,感觉查询效率不太理想,于是考虑建立二级索引的方案。

    经过google学习网上前辈们的经验,暂时找到两种可用的方案:

  1. 使用Hbase协处理器Coprocessor在写入数据时,创建二级索引表,并将每条数据的索引写入二级索引表中,查询时先根据筛选条件查询二级索引表,获取相对应的一级索引rowkey,然后根据rowkey去数据表中获取查询结果。
  2. 使用solr搜索应用服务器,在写入数据时,在solr中建立二级索引(甚至可以建立全文索引),查询时先根据筛选条件获取一级索引rowkey的集合,然后根据rowkey去数据表中获取查询结果。 

    对两种方案进行了比较发现,第一种方案中存在的问题是无法直接获取数据记录总数(要获取记录总数,需要在写入数据时单独维护一个计数器,并一直更新记录总数),对于分页显示的需求不容易满足;而solr服务器的查询方式类似于SQL语句,支持各种查询条件过滤、限定查询范围、页数以及直接获取记录总数,所以我比较倾向于第二种方案。

    关于两种方案的效率问题,目前还在测试中,后面会陆续写出第二套方案的详细部署以及代码。

    第一次开博客,先写这么多吧,下班!

转载于:https://www.cnblogs.com/bxljoy/p/3849359.html

转载地址:https://blog.csdn.net/weixin_30846599/article/details/99205654 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:POJ 3254 简单状压DP
下一篇:22.变基

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月07日 18时46分51秒