Hive 子查询结果复用 with as 创建临时中间表

查询到的用法如下

with tmp0 as (
    select a, b, c from test0
),
tmp1 as(
    select a, b, c from test1
)
select
    db0.a, db1.a, db2.a
from
    tmp0 db0
left join
    tmp0 db1
on
    db0.b = db1.b
left join
    tmp1 db2
on
    db0.b = db2.b

实测,至少在某些版本中,不太好使,临时表还是会生成多次

如果临时表中有一些随机元素,几次生成的还是会不同

 

参考文献:

https://www.cnblogs.com/30go/p/10116815.html

posted @ 2019-11-29 18:33  jhc888007  阅读(1863)  评论(0编辑  收藏  举报