一、视图操作
1) 创建一个测试表。
hive> create table test(id int,name string);
OK
Time taken: 0.385 seconds
hive> desc test;
OK
id int
name string
Time taken: 0.261 seconds, Fetched: 2 row(s)
2) 基于表 test 创建一个 test_view 视图。
hive> create view test_view(id,name_length) as select id,length(name) from test;
3) 查看 test_view 视图属性。
hive> desc test_view;
4) 查看视图结果。
hive> select * from test_view;
二、索引操作
1) Hive 创建索引。
hive> create index user_index on table user(id) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild IN TABLE user_index_table;
2) 更新数据。
hive> alter index user_index on user rebuild;
3) 删除索引
hive> drop index user_index on user;
4) 查看索引
hive> show index on user;
5) 创建表和索引案例
hive> create table index_test(id INT,name STRING) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FILEDS TERMINATED BY ',';
创建一个索引测试表 index_test,dt作为分区属性,“ROW FORMAT DELIMITED FILEDS TERMINATED BY ‘,’” 表示用逗号分割字符串,默认为‘\001’。
6) 创建一个临时索引表 index_tmp。
hive> create table index_tmp(id INT,name STRING,dt STRING) ROW FORMAT DELIMITED FILEDS TERMINATED BY ',';
7) 加载本地数据到 index_tmp 表中。
hive> load data local inpath '/home/hadoop/cs0/test.txt' int