LATERAL VIEW EXPLODE与LATERAL VIEW OUTER EXPLODE的区别
LATERAL VIEW EXPLODE与LATERAL VIEW OUTER EXPLODE的区别
- LATERAL VIEW EXPLODE 当需要拆分的字段为null时,null的那行数据不会出现在结果
- LATERAL VIEW OUTER EXPLODE 所有行都会显示在结果集中(包含要拆分的字段为null时)
LATERAL VIEW EXPLODE :
SELECT a.c1,a.c2,b.c22
FROM (SELECT '1' AS c1,'a,b,c' AS c2UNION ALLSELECT '2' AS c1,NULL AS c2UNION ALLSELECT '3' AS c1,'' AS c2) a
LATERAL VIEWEXPLODE(split(a.c2, ',')) b AS c22;
结果:
c1 c2 c22
1 a,b,c a
1 a,b,c b
1 a,b,c c
3
LATERAL VIEW OUTER EXPLODE :
SELECT a.c1,a.c2,b.c22
FROM (SELECT '1' AS c1,'a,b,c' AS c2UNION ALLSELECT '2' AS c1,NULL AS c2UNION ALLSELECT '3' AS c1,'' AS c2) a
LATERAL VIEW OUTEREXPLODE(split(a.c2, ',')) b AS c22;
结果:
c1 c2 c22
1 a,b,c a
1 a,b,c b
1 a,b,c c
3
2 NULL NULL
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
