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

猜你喜欢

转载自blog.csdn.net/weixin_42856363/article/details/114405753
今日推荐