视图可以允许保存一个查询并像对待表一样对这查询进行操作。这个是一个逻辑结构,因为它不像表会存储数。
当一个查询引用视图时,这个视图所定义的查询语句将和用户的查询语句组合在一起,然后供Hive指定查询计划。从逻辑上讲,可以想象为Hive先执行这个视图,然后使用这个结果进行余下后续的查询。
1 使用视图来降低查询复杂度
当查询变长或者复杂的时候,可以通过视图来将查询语句分割成多个小的、更可控的片段可以降低这种复杂度。
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_join AS
SELECT * FROM people JOIN cart
ON (cart.people_id=people.id) WHERE firstname='john';
现在就可以像操作表一样操作这个视图了。
SELECT lastname FROM