Lateral View explode
阿新 • • 發佈:2020-12-11
技術標籤:hive
Lateral View explode使用過程中炸裂行存在空值導致資料丟失的問題
一般使用
select id,con,con_detail
from
(select 1 as id,'a,b,c' as con
union all select 2 as id,null as con
union all select 3 as id,'' as con
)t
lateral view explode(split(con,',')) aa as con_detail
結果如下,
發現其中id為2的行不見了,原因是其炸裂的列值為null,解決辦法有兩種,一種是將空值進行非空
select id,con,con_detail
from
(select 1 as id,'a,b,c' as con
union all select 2 as id,null as con
union all select 3 as id,'' as con
)t
lateral view outer explode(split(con,',')) aa as con_detail
結果如下,