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、图解

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