как преобразовать столбец с разделителями в разные строки в запросе IMPALA

#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. Я согласен, что нашел способ сделать это в улье, но, к сожалению, я хочу, чтобы это было сделано в самой ИМПАЛЕ, поэтому я пытаюсь найти обходной путь для этого. Любая помощь будет признательна.