HiveQL:视图

本文介绍了如何使用HiveQL的视图功能来降低查询复杂度。通过创建视图,可以将长查询分解为易于管理的部分,并用作安全机制,限制对敏感数据的访问。此外,还讨论了在动态分区中使用视图的情况,以及视图的创建、删除和修改等操作。
摘要由CSDN通过智能技术生成
使用视图来降低查询复杂度
当查询变得很长或复杂的时候,通过使用视图将这个查询语句分隔成多个小的、更可控的片段可以降低这种复杂度。
eg:
from ( select * from people join cart on (cart.people_id=people.id) where firstname='john') a select a.lastname where a.id=3 ;

可以将嵌套子查询变成一个视图:
create view shorter as select * from people join cart on   (cart.people_id=people.id) where firstname='john' ;

使用视图来限制基于条件过滤的数据
对于视图来说一个常见的使用场景就是基于一个或多个列的值来限制输出结果。有些数据库允许将视图作为一个安全机制,也就是不给用户直接访问具有敏感数据的原始表,而是提供给用户一个通过where字句限制了的视图,以供访问。
eg:
create table emp (firstname string,lastname string,ssn string,pwd string,depart string) ;
create view mid_emp as select firstname,lastname,ssn from emp where depart='0908' ;

动态分区中的视图和map类型
create view orders(state,city,part) as select cols['state'],cols['city'],cols['part'] from dynamictable where cols['type']='request' ;

视图零零碎碎相关的事情
create view if not exists ship(time,part) 
commont '...'
tblproperties('creator'='me')
as select ...

create table ship2 like ship ;
drop view if exists ship ;
alter view ship set tblproperties('created_at'='some_timestamp');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值