问题描述
我正在尝试选择数组列中的第二个元素,该元素由蜂巢中的管道分隔。我该如何实现?
输入
["John Doe|ABC","Jane Doe|XYZ"]
["ABC","XYZ"]
解决方法
分解数组,使用split获取第二个元素,然后再次收集数组。例如这样的
select t.myarray original_array,collect_list(split(e.element,'\\|')[1]) result_array
from input_table t
lateral view explode(t.myarray) e as element
group by t.myarray