blob: 68b6f380af5eb2f7b6314111dbc5305b4a38a992 [file] [log] [blame]
--! qt:dataset:srcpart
--! qt:dataset:src
create table test_union_lateral_view(key int, arr_ele int, value string);
EXPLAIN
INSERT OVERWRITE TABLE test_union_lateral_view
SELECT b.key, d.arr_ele, d.value
FROM (
SELECT c.arr_ele as arr_ele, a.key as key, a.value as value
FROM (
SELECT key, value, array(1,2,3) as arr
FROM src
UNION ALL
SELECT key, value, array(1,2,3) as arr
FROM srcpart
WHERE ds = '2008-04-08' and hr='12'
) a LATERAL VIEW EXPLODE(arr) c AS arr_ele
) d
LEFT OUTER JOIN src b
ON d.key = b.key
;
INSERT OVERWRITE TABLE test_union_lateral_view
SELECT b.key, d.arr_ele, d.value
FROM (
SELECT c.arr_ele as arr_ele, a.key as key, a.value as value
FROM (
SELECT key, value, array(1,2,3) as arr
FROM src
UNION ALL
SELECT key, value, array(1,2,3) as arr
FROM srcpart
WHERE ds = '2008-04-08' and hr='12'
) a LATERAL VIEW EXPLODE(arr) c AS arr_ele
) d
LEFT OUTER JOIN src b
ON d.key = b.key
;
select key, arr_ele, value from test_union_lateral_view order by key, arr_ele limit 20;