HBASE+Solr实现详单查询

最近群里面讨论HBASE的使用场景,以及是会没落,这个还真是一句话说不清楚。本文讲其中一个场景:详单查询。

背景

某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证。

原理

基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询。

HBase与Solr系统架构设计

使用HBase搭建结构数据存储云,用来存储海量数据;使用SolrCloud集群用来搭建搜索引擎,将要查找的结构化数据的ID查找出来,只配置它存储ID。

wd代表用户write data写数据,从用户提交写数据请求wd1开始,经历wd2,写入MySQL数据库,或写入结构数据存储云中,wd3,提交到Solr集群中,从而依据业务需求创建索引。

rd代表用户read data读数据,从用户提交读数据请求rd1开始,经历rd2,直接读取MySQL中数据,或向Solr集群请求搜索服务,rd3,向Solr集群请求得到的搜索结果为ID,再向结构数据存储云中通过ID取出数据,最后返回给用户结果。

实现方法有两种

  • 手工编码,直接用HBASE的API,可以参考下文

http://www.cnblogs.com/chenz/articles/3229997.html

  • 可以使用HBASE/Solr的LUNA接口,就不用自己管理两者。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2017-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏飞总聊IT

大数据时代的NoSQL

NoSQL这个词语伴随着云计算和大数据的出现也有一些时日,对于NoSQL和SQL的区别到底是什么,NoSQL自己又是什么,往往很多人还有一些困惑。这篇文章主要阐...

3286
来自专栏从流域到海域

如何将结构化数据导入Solr

原文地址:https://dzone.com/articles/how-to-import-structured-data-into-solr

1572
来自专栏.NET开发者社区

什么是ORM?为什么用ORM?浅析ORM的使用及利弊

什么是ORM ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术...

18710
来自专栏xingoo, 一个梦想做发明家的程序员

Oozie 快速入门

设想一下,当你的系统引入了spark或者hadoop以后,基于Spark和Hadoop已经做了一些任务,比如一连串的Map Reduce任务,但是他们之间彼此...

2368
来自专栏杨建荣的学习笔记

物化视图全量刷新与insert的redo生成量测试(69天)

之前的一篇博客中提到,物化视图的全量刷新也是一种高可用性的体现,但是性能如何呢,下面来简单的测试一下。 首先需要创建一个函数,这个函数会计算当前session下...

33311
来自专栏技术专栏

慕课网Spark SQL日志分析 - 3.Spark SQL概述

Spark SQL不仅仅有访问或者操作SQL的功能,他还提供了其他的非常丰富的操作:外部数据源,优化

683
来自专栏企鹅号快讯

Spring编程式事务处理不当引起的连接泄露事件

某一日正在孜孜不倦的研究代码,忽然测试童鞋说系统服务挂了,完全不可用。 程序大量抛出如下异常: 对于程序员来说,系统宕机就是军令,更可况是难得一见的连接池泄露问...

1966
来自专栏CSDN技术头条

对比Pig、Hive和SQL,浅看大数据工具之间的差异

【编者按】在笔者看来,语言和工具之争从来都没有太大的意义,所谓存在既有道理,如何在场景下做出最合适的选择才至关重要。本文,DeZyre公司专家Manisha N...

2748
来自专栏大内老A

《WCF技术剖析》博文系列汇总[持续更新中]

近半年以来,一直忙于我的第一本WCF专著《WCF技术剖析(卷1)》的写作,一直无暇管理自己的Blog。在《WCF技术剖析(卷1)》写作期间,对WCF又有了新的感...

1638
来自专栏安智客

图说ARMv8架构特点

ARMv8是ARM重点发展的一个架构。有一些年头了!我们来了解下! 本文介绍了ARMv8-a中的一些概念! ? 从ARMv7开始,ARM公司面向三个市场:应用、...

2247

扫码关注云+社区