es 多索引聯合查詢 HBase二級索引設計思想

2021-10-13 17:48:30 字數 1231 閱讀 9191

1為什麼需要建立二級索引

hbase對於多條件組合查詢這種應用場景是非常不佔優勢的,甚至可以說就是其短板,一般情況下,我們有兩種方式查詢hbase中的資料

所以這時候我們就需要用建立二級索引的方法來解決這個問題

2二級索引原理

如上圖所示,hbase表中的字段為rowkey,age,***,username,phone,目前的需求是需要按照age,***,username,phone隨機組合查詢符合條件的資料。

這時候我們就需要用es來建立二級索引了,原始資料存在hbase中,索引存在es中,如下圖所示:

原理流程

將原始資料存入hbase

將需要查詢的條件欄位及rowkey存入es

客戶端傳送請求會根據組合查詢條件去es中查詢到對應的rowkey

es返回rowkey給客戶端

客戶端根據es返回的結果(rowkey)查詢hbase資料

hbase返回符合條件的資料給客戶端

資料建模知多少?

如何寫好一篇資料部門規範文件

如何優化整個數倉的執行時長(比如7點所有任務跑完,如何優化到5點)

從0-1建設數倉遇到什麼問題?怎麼解決的?

多值維度及交叉維度最佳解決方案

深入**order by,sort by,distribute by,cluster by

hive調優,資料工程師成神之路

資料質量那點事

簡述元資料管理

你真的了解全量表,增量表及拉鍊表嗎?

緩慢變化維(scd)常見解決方案

全方位解讀星型模型,雪花模型及星座模型

sqoop or datax

left join(on&where)

你們公司還在用sparkonyan嗎?

大廠高頻面試題-連續登入問題

朋友面試資料研發崗遇到的面試題

資料倉儲分層架構

簡單聊一聊大資料學習之路

朋友面試資料專家崗遇到的面試題

hadoop快速入門

數倉工程師的利器-hive詳解

聯合索引(多列索引)

聯合索引是指對錶上的多個列進行索引,聯合索引也是一棵b 樹,不同的是聯合索引的鍵值數量不是1,而是大於等於2.最左匹配原則 假定上圖聯合索引的為 a,b 聯合索引也是一棵b 樹,不同的是b 樹在對索引a排序的基礎上,對索引b排序。所以資料按照 1,1 1,2 順序排放。對於selete from t...

ES 二 索引的查詢更新刪除

單個索引查詢 test public void queryindex 結果 org.elasticsearch.transport.client.prebuilttransportclient 783ec989 需要注釋掉之前獲取客戶端物件的client.close 方法 多個條件的查詢 test ...

Mysql的列索引和多列索引(聯合索引)

建立乙個多列索引 create table test id int not null,last name char 30 not null,first name char 30 not null,primary key id index name last name,first name 建立多個索...