视图可以允许保存一个查询并像对待表一样对这个查询进行操作。这是一个逻辑结构,因为它不会像一个表会存储数据,也就是说,Hive目前暂不支持物化视图。
当一个查询引用一个视图时,这个视图所定义的查询语句将和用户的查询语句组合在一起,然后供Hive指定查询计划。从逻辑上讲,可以想象为Hive先执行这个视图,然后使用这个结果进行余下后续的查询。
创建视图
使用create view进行视图的创建。

可以看到,可创建表的语法差不多。我们创建了一个视图,这个视图是原表employees_p中salary>50000的所有记录。我们将这个视图记为employees_view。接下来我们可以在这个视图中进行其他操作。

如上的查询,我们只需要从视图中去查询name包含了B的用户,并且salary>50000.所以我们使用视图降低了查询复杂度。
动态分区中的视图和map类型



使用这种方式可以分割不同的map字段从而得到不同的结果。
由于视图实际上并不会“具体化”操作任何实际的数据,所示视图实际上是对其所使用到的表和列的一个查询语句固化过程。因此,如果视图所涉及的表或者列不存在时,会导致视图查询失败。
删除视图
同表一样,使用drop命令删除视图。
命令:DROP VIEW IF EXISTS shipmets;
文章转载自奶啤配炸鸡,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




