目录
Hive 中的视图(View)是一个虚拟表,它基于一个或多个表的查询结果。视图不存储数据,它只存储查询语句的定义。当你查询视图时,Hive 会根据视图的定义执行查询,并返回结果。视图可以简化复杂的查询,提供数据的安全性(因为用户只能看到视图定义中的数据),以及提供数据的逻辑抽象。
1.创建视图
使用 CREATE VIEW 语句可以创建一个视图。例如:
CREATE VIEW employee_view AS
SELECT name, salary
FROM employee
WHERE age > 30;
2.查询视图
查询视图的方式与查询普通表相同:
SELECT * FROM employee_view;
3.删除视图
使用 DROP VIEW 语句可以删除一个视图:
DROP VIEW IF EXISTS employee_view;
4.修改视图
Hive 不直接支持视图的修改(ALTER VIEW),但你可以先删除旧视图,然后创建一个新视图来达到修改的目的。
5.查看视图定义
使用 DESCRIBE FORMATTED 可以查看视图的定义:
DESCRIBE FORMATTED employee_view;
6.视图与表的差异
- 视图是虚拟的,不存储数据;表是实际存储数据的。
- 视图的创建基于已有的表或视图;表是直接创建的。
- 对视图的查询实际上是执行了视图定义中的查询语句;对表的查询直接从表中读取数据。
注意事项
- 视图定义中的查询不能包含 ORDER BY 和 LIMIT 子句。
- 视图不能包含 INSERT、UPDATE 或 DELETE 操作。