#arrays #hive #hiveql
#массивы #улей #hiveql
Вопрос:
Я пытаюсь выбрать второй элемент в столбце массива, ограниченный каналом в улье. Как я могу этого добиться?
Ввод
["John Doe|ABC","Jane Doe|XYZ"]
Вывод
["ABC","XYZ"]
Ответ №1:
Разнесите массив, возьмите второй элемент с помощью 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