hive 可以通过with查询来提高查询性能,因为先通过with语法将数据查询到内存,然后后面其它查询可以直接使用
with q1 as ( select key from src where key = '5')
select *
from q1;
-- from stylewith q1 as (select * from src where key= '5')
from q1
select *;
-- chaining CTEswith q1 as ( select key from q2 where key = '5'),
q2 as ( select key from src where key = '5')
select * from (select key from q1) a;
-- union examplewith q1 as (select * from src where key= '5'),
q2 as (select * from src s2 where key = '4')
select * from q1 union all select * from q2;
|
CTE in Views, CTAS, and Insert Statements
-- insert examplecreate table s1 like src;
with q1 as ( select key, value from src where key = '5')
from q1
insert overwrite table s1
select *;
-- ctas examplecreate table s2 as
with q1 as ( select key from src where key = '4')
select * from q1;
-- view examplecreate view v1 as
with q1 as ( select key from src where key = '5')
select * from q1;
select * from v1;
-- view example, name collisioncreate view v1 as
with q1 as ( select key from src where key = '5')
select * from q1;
with q1 as ( select key from src where key = '4')
select * from v1;
|
5557

被折叠的 条评论
为什么被折叠?



