基于Solr的HBase多条件查询测试】的更多相关文章

背景: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询.HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级 的快 速检索,对于多字段的组合查询却无能为力.针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的 HBase多条件查询方案进行测试和验证. 原理: 基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条…
实时查询方案 HBase+Solr+HBase-Indexer 1.HBase提供海量数据存储 2.solr提供索引构建与查询 3.HBase indexer提供自己主动化索引构建(从HBase到Solr) HBase Indexer https://github.com/NGDATA/hbase-indexer 教程 https://github.com/NGDATA/hbase-indexer/wiki/Tutorial…
文章来源:http://www.open-open.com/lib/view/open1421501717312.html 实现目的: 由于hbase基于行健有序存储,在查询时使用行健十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询.查询总记录数.分页等就比较麻烦了.想要实现这样的功能,我们可以采用两种方法: 使用hbase提供的filter, 自己实现二级索引,通过二级索引 查询多符合条件的行健,然后再查询hbase. 第一种方法不多说了,使用起来很方便,但是局限性也很大,hba…
前言 DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的特点,用户会使用多维度随意组合条件快速召回数据.数据处理业务场景需要实时性,需要能够快速精准的获得到需要的数据.之前的通过数据库的方式来处理数据的方式,由于数据库的某些固有特性已经很难满足大数据时代对数据处理的需求. 所以,在大数据时代使用hadoop,hive,spark,作为处理离线大数据的补充手段已经大行其道. 以上提到的这些数据处理手段,只能离线数据处理方式,无法实现实时性.Solr作为补充…
利用Filter进行筛选:HBase的Scan可以通过setFilter方法添加过滤器(Filter),这也是分页.多条件查询的基础.HBase为筛选数据提供了一组过滤器,通过这个过滤器可以在HBase中的数据的多个维度(行,列,数据版本)上进行对数据的筛选操作.Filter是可以加多个的,HBase提供十多种Filter类型.filterList.addFilter(scvf) 就是可以添加多个查询条件,然后调用setFilter函数给Scanner. 直接附上源码:(多条件查询之后对该2行键…
/** * 获得相等过滤器.相当于SQL的 [字段] = [值] * @param cf 列族名 * @param col 列名 * @param val 值 * @return 过滤器 */ public static Filter eqFilter(String cf, String col, byte[] val) { SingleColumnValueFilter f = new SingleColumnValueFilter(cf.getBytes(), col.getBytes(),…
题目 使用HADOOP的MAPReduce,实现以下功能: (1)基于大数据计算技术的条件查询:使用mapreduce框架,实现类似Hbase六个字段查询的功能 (2)时段流量统计:以hh:mm:ss格式输入起始时间和结束时间,统计这段时间之内的总搜索次数(就是记录数).各个查询词搜索次数,各个网站(URL)的访问量. 注意:同一个网站的URL算在同一个网站上 如women.sohu.com/20070508/n249762812.shtml, s.sohu.com/20080220/n2552…
最近的项目需要使用Hbase做实时查询,由于Hbase只支持一级索引,也就是使用rowkey作为索引查询,所以对于多条件筛选查询的支持不够,在不建立二级索引的情况下,只能使用Hbase API中提供的各种filter过滤器进行筛选,感觉查询效率不太理想,于是考虑建立二级索引的方案. 经过google学习网上前辈们的经验,暂时找到两种可用的方案: 使用Hbase协处理器Coprocessor在写入数据时,创建二级索引表,并将每条数据的索引写入二级索引表中,查询时先根据筛选条件查询二级索引表,获取相…
HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式有着密切的关系,在逻辑上,HBase的表数据按RowKey进行字典排序, RowKey实际上是数据表的一级索引(Primary Index),由于HBase本身没有二级索引(Secondary Index)机制,基于索引检索数据只能单纯地依靠RowKey.也只有使用RowKey查询数据才能得到非常高…
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包 2.主要程序 package com.wujintao.hbase.test; import java.io.IOException; import java.util.ArrayList; import java.util.List;…