首页 > 其他 > 详细

HiveQL:视图

时间:2019-08-21 21:15:16      阅读:111      评论:0      收藏:0      [点我收藏+]

一.概念

视图可以允许保存一个查询并像对待表一样对这个查询进行操作。这是一个逻辑结构,换言之,hive目前不支持物化视图。

1.使用视图降低查询复杂度

-- 创建一个视图
CREATE VIEW tb1 AS
SELECT * FROM t1 JOIN t2
ON t1.id = t2.id;

-- 从视图中获取数据
SELECT * FROM tb1 WHERE ...

2.使用视图来限制基于条件过滤的数据

/*
1.有些数据库允许将视图作为一个安全机制,也就是不给用户直接访问具有敏感数据的原始表,而是提供给用户一个通过WHERE限制视图,以供访问。
2.HIVE目前不支持次功能,因为用户必须具有能够访问整个底层原始表的权限,这时候视图才能工作。
3.因此,通过创建视图来限制数据访问可以用来保护信息不被随意查询。
*/
CREATE VIEW techops_employee
SELECT * FROM employee WHERE department = techops;
-- 这样可以将一张表的数据通过视图划分开,可以起到访问数据权限的划分作用。

3.动态分区的视图和map类型

/*
可以创建具有动态分区的视图,其他略
*/

4.视图的特点

-- 1.定义一个视图实际上不会‘具体化‘操作任何数据,所以视图实际上是对其所用的表和列的固化过程。
-- 2.对于IF NOT EXITS 和COMMENT是可用的,和创建表是同样的含义。
-- 3.视图是只读的。    
-- 4.一次操作命令
    DROP VIEW IF EXITS shipments -- 删除视图
    SHOW TABLES -- 查看视图
    DESCRIBE TABLE /DESCRIBLE EXTENED TABLE -- 查看视图的元数据信息

 

HiveQL:视图

原文:https://www.cnblogs.com/lijingang/p/11390817.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!