Es爲Hbase創建二級索引思路

一、說明

1、由於數據量巨大的時候,單純的Hbase查詢就會變得比較慢。如果讓Hbase查詢再快一些,就要爲其創建二級索引。爲Hbase創建二級索引一般有兩種思路,一個思路是使用phoenix爲Hbase創建二級索引,另一個思路是使用es爲Hbase創建二級索引。

2、使用phoenix爲Hbase創建二級索引的思路是可行的,但是當查詢條件變的很多時就變的很不靈活。比如我有二十個查詢條件隨機組合查詢,每次查詢都會有一到二十個條件一起用,這樣的話每一種情況都要用phoenix創建索引是比較繁瑣的,還容易漏掉其中的幾種組合;

3、由於es的條件查詢比較靈活,可以多條件隨機靈活結合,所以在查詢條件相當多、數據量又巨大的條件下要優先選擇es爲Hbase創建二級索引的;

二、es爲Hbase創建二級索引的思路

1、假設Hbase中要查詢的數據字段爲rowid、name、age、sex、content,要查詢的條件爲name、age、sex;

2、rowid必須爲手動創建的rowid;

3、則在存入數據的時候、Hbase要存入一份rowid、name、age、sex、content,es也要存入相同的rowid、name、age、sex,查詢時只需先在es根據條件查出rowid,再去Hbase根據確定的rowid去查找相應的記錄;

4、圖解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章