Given a hive table like
a | b ---------- 1 | [1,2,3] 2 | [2,3]
How can I create a secondary table like
a | b ------ 1 | 1 1 | 2 1 | 3 2 | 2 2 | 3
Advertisement
Answer
This is a textbook case for unnest
:
-- sample data WITH dataset (a, b) AS ( VALUES (1, array[1,2,3]), (2, array[2,3]) ) -- query select a, bb from dataset cross join unnest(b) as t(bb) order by a, bb -- to pretify output
Output:
a | bb |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
2 | 2 |
2 | 3 |