将列表式变量转为列, 例如
var1 | value1 |
---|---|
a | c1,c2,c3,c2 |
b | b1,b2,b1 |
将value1拆分转换为列,语句如下:
select var1, value2
from table1
lateral view explode(split(value1, ",")) adTable as value2
;
转换结果如下:
var1 | value2 |
---|---|
a | c1 |
a | c2 |
a | c3 |
a | c2 |
b | b1 |
b | b2 |
b | b1 |
注意用法:lateral view explode(变量名) adTable as 新变量名
explode(变量名), 默认分隔符为逗号,当有其他分隔符时可使用explode(split(变量名, "分隔符"))