大数据学习笔记-------------------(27)

2017/03/14 17:26
阅读数 60

第27章视图与索引

         本章描述如何创建和管理视图(VIEW)。视图基于用户的需求产生,保存任何结果把数据设为一个viewHive中View的使用与SQL中View的使用一样。它是一个标准的RDBMS概念。可以在视图上执行所有DML操作。

27.1 创建视图(Creatinga View)

在执行一个SELECT语句时,创建一个视图。语法如下:

CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ] 
[COMMENT table_comment] 
AS SELECT ...

27.1.1  创建视图实例

 创建一个视图的例子。使用之前创建emp表,执行查询检索薪资大于且等于30000的员工详细信息。存储结果在视图emp_30000中。创建视图emp_30000的语句如下:

CREATE VIEW emp_30000 
AS 
SELECT * FROM employee 
WHERE salary>30000;

执行语句和结果如下:

        

27.2 删除视图(Droppinga View)

 删除视图的语法如下:

DROP VIEW view_name

执行如下查询语句删除一个名为emp_30000的视图:

DROP VIEW emp_30000;

27.3 创建索引(Creatingan Index)

索引(Index)只是表的特定列上的指针。 创建索引(Index)意味着在表的特定列上创建指针。 其语法如下:

CREATE INDEX index_name 
ON TABLE base_table_name (col_name, ...) 
AS 'index.handler.class.name' 
[WITH DEFERRED REBUILD] 
[IDXPROPERTIES (property_name=property_value, ...)] 
[IN TABLE index_table_name] 
[PARTITIONED BY (col_name, ...)] 
[ 
[ ROW FORMAT ...] STORED AS ... 
| STORED BY ... 
] 
[LOCATION hdfs_path] 
[TBLPROPERTIES (...)]

27.3.1创建索引实例

创建索引的例子,使用表emp,给emp表的salary列创建index_salary索引。执行如下语句创建索引:

CREATE INDEX inedx_salary ON TABLE emp (salary) 
AS
'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'
WITH DEFERRED REBUILD;

它是salary列的指针。如果列被修改,则使用索引值存储更改

    

27.4 删除索引(Droppingan Index)

 删除索引的语法如下:

DROP INDEX <index_name> ON<table_name>

执行如下语句,删除index_salary索引:

DROP  INDEX index_salary ON emp;

      

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部