最近在做用elasticSearch建立hbase的二級(jí)索引,通過(guò)查詢(xún)elasticSearch實(shí)現(xiàn)對(duì)hbase的快速查詢(xún),從而實(shí)現(xiàn)海量數(shù)據(jù)的秒級(jí)快速查詢(xún)。在這里記錄一下自己工作的解決過(guò)程。
1 周五下午了。困,心放飛了。
2 哎,但是還在工作時(shí)間,還是好好干活吧。
3 疫情快點(diǎn)過(guò)去吧,快點(diǎn)過(guò)去吧。真的太煎熬了
4 言歸正傳,想吃大福
5 真的言歸正傳。
為什么要用hbase與elasticsearch結(jié)合使用的方式
(1). 使用hbase。業(yè)務(wù)數(shù)據(jù)量很多,及業(yè)務(wù)數(shù)據(jù)量本身的結(jié)構(gòu)(視頻相關(guān)行為),適合適用hbase
(2). hbase支持rowkey查詢(xún)和過(guò)濾的多條件查詢(xún)。但是如果想根據(jù)一個(gè)字段的內(nèi)容去查詢(xún),則需要通過(guò)mapreduce等,查詢(xún)緩慢。比如hbase存儲(chǔ)的人的信息,想通過(guò)所在城市查詢(xún),想通過(guò)年齡查詢(xún)。
(3). 可以用elasticsearch建立hbase的二級(jí)索引,elasticsearch是一個(gè)分布式的索引引擎,查詢(xún)速度快,且通過(guò)倒排索引實(shí)現(xiàn)了全文搜索,每個(gè)字段都可以被索引和搜索。
elasticsearch 是什么
- 一個(gè)分布式的實(shí)時(shí)文檔存儲(chǔ),每個(gè)字段 可以被索引與搜索
- 一個(gè)分布式實(shí)時(shí)分析搜索引擎
- 能勝任上百個(gè)服務(wù)節(jié)點(diǎn)的擴(kuò)展,并支持 PB 級(jí)別的結(jié)構(gòu)化或者非結(jié)構(gòu)化數(shù)據(jù)
主要思想
對(duì)hbase要查詢(xún)的列建立es索引,然后根據(jù)es索引查詢(xún)到rowkey,再根據(jù)rowkey查詢(xún)到需要的數(shù)據(jù)。
不具體過(guò)程
1 建立索引
因?yàn)闃I(yè)務(wù)原因,需要每天更新全量索引和實(shí)時(shí)更新批量索引。
全量更新索引:mapreduce
實(shí)時(shí)更新索引: