HIVE列转行注意分隔成数组字段不能为null
当hive进行列转行需要注意分割成数组不能为null,不然这列就会漏掉。
原始数据

结果展示

对于这样的情况只能用union all将两部分数据合起来
select
a,
bb
from test
lateral view explode(split(b,’:’)) num as bb
where b is not null
union all
select
a,
b bb
from test
where b is null
或者用nvl将null转化为空字符串
select
a,
bb
from test
lateral view explode(split(nvl(b,’’),’:’)) num as bb
655

被折叠的 条评论
为什么被折叠?



