#hive #impala
Вопрос:
Значения оценок столбцов разделяются запятой. Каждый идентификатор пользователя имеет по крайней мере один балл, и нет верхнего предела для количества баллов каждого идентификатора пользователя.
-------- ---------
| userid | scores |
-------- ---------
| u1 | C,B,A |
| u2 | A |
| u3 | A,C |
-------- ---------
Я хочу получить результат с помощью sql » выберите…»
-------- ---------
| userid | score |
-------- ---------
| u1 | C |
| u1 | B |
| u1 | A |
| u2 | A |
| u3 | A |
| u3 | C |
-------- ---------
В улье lateral view explode(split(score,','))
может реализовать требование,
select userid, score from my_table lateral view explode(split(scores,',')) scores as score;
Однако импала не поддерживает взрыв.
Есть ли альтернативный способ реализовать это в impala?
Комментарии:
1. Я думаю, тебе нужно использовать улей. Импала не будет работать для такого типа требований(или я не знаю).
2. Я согласен, что нашел способ сделать это в улье, но, к сожалению, я хочу, чтобы это было сделано в самой ИМПАЛЕ, поэтому я пытаюсь найти обходной путь для этого. Любая помощь будет признательна.