hive - 函数使用系列
LATERAL VIEW (outer) explode
记录为null
SELECT
events.* , a.remarks_code
from events
LATERAL VIEW explode(split(events.remark,','))
where id = 123
有一条记录
SELECT
events.* , a.remarks_code
from events
LATERAL VIEW outer explode(split(events.remark,','))
where id = 123
原因分析:
1、LATERAL VIEW (outer) explode 把数组展开为一个临时表A,与主表关联。
2、若没有加 “outer” ,此时与主表类似做 inner join , 临时表A没有数据,则主表的数据也会被过滤。
3、若加了 “outer” ,此时与主表做类似 left join , 临时表A没有数据,则主表的数据也会显示,临时表字段数据为null。