Я пытаюсь транспонировать переменную в Hive, такую как:
Id1 Id2 Event
1 1 7
2 2 3
2 2 7
в
Id1 Id2 Event_7 Event_3
1 1 1
2 2 1 1
Вот что у меня есть:
create temporary table event_trans as
select Id1, Id2,Event
kv['3'] as Event_3,
kv['7'] as Event_7
from(
select Id1, Id2, collect(Event, '1') as kv
from event1
group by Id1, Id2
)t
Ошибка: ошибка при компиляции оператора: FAILED: в строке ParseException 1:84 отсутствует EOF в '[' возле 'kv'
Мне также интересно узнать, как транспонировать набор данных в Hive с дубликатами, например, с одинаковым выводом:
Id1 Id2 Event
1 1 7
2 2 3
2 2 7
2 2 7
до
Id1 Id2 Event_7 Event_3
1 1 1
2 2 1 1
Благодарим за любую помощь!