CDH HBASE二級索引

2021-07-15 20:08:44 字數 1590 閱讀 8776

a)        

對於已存在的表,每個需要建立索引的列簇都需要設定

replication_scope

,命令如下:

b)        

新建表,用如下命令:

c)         

生成實體配置檔案

d)        

編輯/home/bigdata/xuhailiu/solr/web-collection/conf/schema.xml

檔案。

為方便除錯,取出了檔案中自帶的一些字段。

注:其中

id欄位和

_version_

兩個字段必須保留,

id作為

habse

的rowkey

,_version_

用於版本的區分。

e)         

建立collection

例項並配置檔案上傳到

zookeeper

$ solrctl instancedir --create web-collection /home/bigdata/xuhailiu/solr/web-collection

驗證操作是否成功:

登入到zookeeper

安裝的主機,執行客戶端指令碼登入:

$ /opt/cloudera/parcels/cdh/bin/zookeeper-client

登入成功後執行命令:

ls /solr/configs/web-collection

顯示結果:

f)         

建立collection:

solrctl collection --create web-collection -s 1 -r 2

此時可在

solr

介面上看到建立的

collection

ø  table

對應需要對映的

hbase表名

ø  固定值

ø  morphlinefile

對應的value

為morphlines.conf

存放位置

ø  morphlineid

為morphlines.conf

檔案中morphlines

屬性id 值

}

ø  inputcolumn

對應hbase

中的列簇和列

ø  outputfield

對應schema.xml

檔案中field值

(ps:

此處通過

key-value store indexer

介面的操作方式,有待研究。)

驗證操作是否成功:

登入到zookeeper

安裝的主機,執行命令:

hbase-indexer list-indexers -dump

顯示:

$ hbase shell

hbase shell> put 'web_log','rowkey1','cf:host','127.0.0.1'

solr

介面查詢結果:

Hbase二級索引

hbase的查詢都是通過rowkey 要把多條件組合查詢的字段都拼接在rowkey中顯然不太可能 或者全表掃瞄再結合過濾器篩選出目標資料 太低效 所以通過設計hbase的二級索引來解決這個問題。多個查詢條件構成了多維度的組合查詢,需要根據不同組合查詢出符合條件的資料。例如 按照電影維度查詢資料適合,...

mysql二級索引

聚集索引葉子節點存放記錄 非聚集索引葉子節點存放key和主鍵資訊 二級索引查詢比聚集索引慢,需要回表 iot表 拆表人肉回表 myisam索引是堆表 也是有序的 myisam主鍵和唯一索引的效率相當,不需要再回表 資料檔案位址修改了,iot不需要修改 myisam適合讀的應用 innodb適合寫 i...

聚集索引和二級索引

每個innodb的表都有個特殊的索引來存放資料 聚集索引。當在表上指定主鍵後,innodb使用它來作為聚集索引。如果沒有定義主鍵,會找非空唯一索引來作為clustered index 如果上面2個都沒有,那麼會在內部生成乙個隱藏的clustered index 通過乙個clustered index...