最近在做用elasticSearch建立hbase的二级索引,通过查询elasticSearch实现对hbase的快速查询,从而实现海量数据的秒级快速查询。在这里记录一下自己工作的解决过程。
1 周五下午了。困,心放飞了。
2 哎,但是还在工作时间,还是好好干活吧。
3 疫情快点过去吧,快点过去吧。真的太煎熬了
4 言归正传,想吃大福
5 真的言归正传。
为什么要用hbase与elasticsearch结合使用的方式
(1). 使用hbase。业务数据量很多,及业务数据量本身的结构(视频相关行为),适合适用hbase
(2). hbase支持rowkey查询和过滤的多条件查询。但是如果想根据一个字段的内容去查询,则需要通过mapreduce等,查询缓慢。比如hbase存储的人的信息,想通过所在城市查询,想通过年龄查询。
(3). 可以用elasticsearch建立hbase的二级索引,elasticsearch是一个分布式的索引引擎,查询速度快,且通过倒排索引实现了全文搜索,每个字段都可以被索引和搜索。
elasticsearch 是什么
- 一个分布式的实时文档存储,每个字段 可以被索引与搜索
- 一个分布式实时分析搜索引擎
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
主要思想
对hbase要查询的列建立es索引,然后根据es索引查询到rowkey,再根据rowkey查询到需要的数据。
不具体过程
1 建立索引
因为业务原因,需要每天更新全量索引和实时更新批量索引。
全量更新索引:mapreduce
实时更新索引:
(没了,至于为什么没了,是三年前的博文,忘记了。