首页 > 其他 > 详细

hive with查询用法及CTAS的使用

时间:2015-11-05 02:09:16      阅读:550      评论:0      收藏:0      [点我收藏+]

hive 可以通过with查询来提高查询性能,因为先通过with语法将数据查询到内存,然后后面其它查询可以直接使用

?

with?q1?as?(?select?key?from?src?where?key?=?‘5‘)
select?*
from?q1;
?
-- from style
with?q1?as?(select?*?from?src?where?key=?‘5‘)
from?q1
select?*;
?
-- chaining CTEs
with?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 example
with?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 example
create?table?s1?like?src;
with?q1?as?(?select?key, value?from?src?where?key?=?‘5‘)
from?q1
insert?overwrite?table?s1
select?*;
?
-- ctas example
create?table?s2?as
with?q1?as?(?select?key?from?src?where?key?=?‘4‘)
select?*?from?q1;
?
-- view example
create?view?v1?as
with?q1?as?(?select?key?from?src?where?key?=?‘5‘)
select?*?from?q1;
select?*?from?v1;
?
-- view example, name collision
create?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;

hive with查询用法及CTAS的使用

原文:http://daizj.iteye.com/blog/2254481

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!