hive如何将split切割后的结果转成列输出

首先创建一个测试表 test 将需求表明。
    id    name
	1     yy,tl,dd
	2     xy,dl,dz
想要得到的结果是
1 yy
1 tl
1 dd
2 xy
2 dl
2 dz
思路:
	需要将name通过','进行切割(split),得到数组结果集,就需要考虑如何将这个数组和id如何输出,此时就要借助explode,
而hive不支持explode的直接使用,还需要lateral view去实现。
下面给出对应的sql语句:
select
	a.id,
	b.rename
from test a
lateral view explode(split(a.name,',')) b as rename;


得到的结果即为:
id rename
1 yy
1 tl
1 dd
2 xy
2 dl
2 dz
上一篇:专题:线段树(一)


下一篇:使用TransmittableThreadLocal弥补InheritableThreadLocal的不足,可动态刷新线程变量