0
点赞
收藏
分享

微信扫一扫

Hive 物化视图

琛彤麻麻 2022-04-28 阅读 94
hive

物化视图作为Hive3.x的新特性,可以将查询的结果保存到一张表上,供客户端之后如果查询同样的数据时,就可以直接返回结果,而不用再执行MR程序,效率极高。

但在使用物化视图时需要注意几点:外部表不能用来创建物化视图、必须是事务表才能用来创建物化视图

drop table if exists student_trans;

create table student_trans (
sno int,
sname string,
sdept string
) clustered by (sno) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');

insert overwrite table student_trans select num, name, dept from student;

--对student_trans建立聚合物化视图
create MATERIALIZED VIEW student_trans_agg
as select sdept, count(*) as sdept_cnt from student_trans group by sdept;

这里有个很奇怪的现象,如果在建立物化视图的select语句加上where,就会发现物化视图并不会自动重写query 

show materialized views;

--验证禁用物化视图自动重写
alter materialized view student_trans_agg disable rewrite;

--开启物化视图自动重写
alter materialized view student_trans_agg enable rewrite;

drop materialized view student_trans_agg;
举报

相关推荐

0 条评论