Я новичок в Hive и Hadoop Framework.Я пытаюсь написать запрос улья, чтобы разделить столбец, разделенный трубкой '|'персонаж.Затем я хочу сгруппировать 2 смежных значения и разделить их на отдельные строки.
Например, у меня есть таблица
id mapper
1 a|0.1|b|0.2
2 c|0.2|d|0.3|e|0.6
3 f|0.6
Я могу разбить столбец с помощью split(mapper, "\\|")
который дает мне массив
id mapper
1 [a,0.1,b,0.2]
2 [c,0.2,d,0.3,e,0.6]
3 [f,0.6]
Теперь я попытался использовать боковое представление для разделения массива картографирования на отдельные строки, но он будет разделять все значения, где я хочу разделить по группам.
Ожидаемый:
id mapper
1 [a,0.1]
1 [b,0.2]
2 [c,0.2]
2 [d,0.3]
2 [e,0.6]
3 [f,0.6]
Фактический
id mapper
1 a
1 0.1
1 b
1 0.2
etc .......
Как этого добиться?