2 2 2Hive建立索引

2021-08-18 01:51:35 字數 1841 閱讀 3433

hive建立索引

一、       意義

索引是標準的資料庫技術,使用者可以在某些列上建立索引來加速某些操作,給乙個表建立的索引資料被儲存在另外的表中。

使用者可以使用

explain

語法來分析

hiveql

語句是否可以使用索引來提公升使用者查詢的效能。索引需要更多的磁碟空間,並且建立維護索引也會有一定的代價。

使用者必須要權衡從索引得到的好處和代價。

二、       建立一張表

建立:

create table t_user(id int, namestring) row format delimited fields terminated by ',' ;

匯入資料:

三、       建立索引之前測試

開始走mapreduce

總共需要42秒多。

二、       對錶建立索引

建立:

create index user_index on table t_user(id) as'org.apache.hadoop.hive.ql.index.compact.compactindexhandler' with deferredrebuild in table user_index_table;

修改:

alter index user_indexon t_user rebuild;
查詢:

select * fromuser_index_table limit 5;
建立成功。

三、      建立索引後再查詢

查詢語句:

select * from t_user where id < 0053 and id > 0010order by id limit 10;
效果不明顯。可能是由於資料還不夠多。

hive 建立索引

索引是hive0.7之後才有的功能,建立索引需要評估其合理性,因為建立索引也是要磁碟空間,維護起來也是需要代價的 create index idx user phone on table user phone with phone message user phone as org.apache.h...

hive 建立索引

索引是hive0.7之後才有的功能,建立索引需要評估其合理性,因為建立索引也是要磁碟空間,維護起來也是需要代價的 create index idx user phone on table user phone with phone message user phone as org.apache.h...

Hive索引的操作

源表 create table bak name string,id string,phone string,card num bigint,email string,addr string partitioned by time string row format delimited fields...