[英]Is there sql WITH clause equivalent in hive?
未能在規范中找到答案。
所以,我想知道:我可以在蜂巢中做這樣的事情嗎?
insert into table my_table
with a as
(
select *
from ...
where ...
),
b as
(
select *
from ...
where ...
)
select
a.a,
a.b,
a.c,
b.a,
b.b,
b.c
from a join b on (a.a=b.a);
從版本0.13.0
開始,Hive 中可用。 此處記錄了用法。
我想你總是可以使用子查詢:
insert into table my_table
select
a.a,
a.b,
a.c,
b.a,
b.b,
b.c
from
(
select *
from ...
where ...
) a
join
(
select *
from ...
where ...
) b
on a.a = b.a;
Hadoop Hive WITH 子句語法和示例借助 Hive WITH 子句,您可以在同一查詢構造中重用查詢結果。 您還可以使用WITH
子句改進 Hadoop Hive 查詢。 您可以通過將復雜、復雜的重復代碼移動到 WITH 子句並引用在 SELECT 語句中創建的邏輯表來簡化查詢。
帶有 SELECT 語句的 Hive WITH 子句示例
WITH t1 as (SELECT 1),
t2 as (SELECT 2),
t3 as (SELECT 3)
SELECT * from t1
UNION ALL
SELECT * from t2
UNION ALL
SELECT * from t3;
INSERT 語句中的 Hive WITH 子句您可以在向表中插入數據時使用 WITH 子句。 例如:
WITH t11 as (SELECT 10),
t12 as (SELECT 20),
t13 as (SELECT 3)
INSERT INTO t1
SELECT * from t11
UNION ALL
SELECT * from t12
UNION ALL
SELECT * from t13;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.