背景:
HIve在进行行转列的过程中,如果遇到转的数组或者MAP()的情况,会出现一种特殊情况,就是数据会消失:
原数据:
SELECT
'1' AS id,
MAP() AS purchase_info
UNION ALL
SELECT
'2' AS id,
MAP() AS purchase_info
UNION ALL
SELECT
'3' AS id,
str_to_map('2019-11-28:100,2019-11-27:1') AS purchase_info
UNION ALL
SELECT
'3' AS id,
str_to_map('2019-11-28:200,2019-11-27:2') AS purchase_info
) all LATERAL VIEW OUTER EXPLODE(purchase_in