一、视图
视图在hive中有点类似core draw绘图软件中的原图上面的一层一层视图
建视图语句如下
create view viewname as
select XXX from 源表name
where XX=XX;
目的是给字段脱敏,不同视图查询特定的字段的结果集,供不同部门使用,但是视图的数据存储位置与源表的HDFS存储位置是一致的,这样就避免了新建表,然后导入数据,并且两张表的存储路径还不一样的麻烦。
把有些敏感字段脱去,选取特定的字段,插入视图中,然后查询视图,本质其实是在查源表的HDFS路径。
二、with table as
这种方式的好处是省事,一个hive查询结果集建立一个with table as select XXX from XXX,这样一个sql里可以做十几个结果集而不需要建立十几张hive表;
并且with table as结果集只计算一次,每次调用的时候不再重复计算