Мои данные следуют этой структуре:
cust chan ts
1 A 1
1 A 2
1 A 3
1 B 4
1 C 5
1 A 6
1 A 7
2 B 1
2 C 2
2 B 3
2 B 4
2 C 5
3 A 1
3 A 2
3 A 3
3 A 4
Я пытаюсь свернуть и транспонировать по cust, где последовательность каналов сгруппирована, но порядок поддерживается, т.е. в этот формат:
cust group
1 A-B-C-A
2 B-C-B-C
3 A
Я думал, что смогу добиться этого с помощью синтаксиса, подобного следующему:
SELECT
cust
, concat_ws('-',collect_list(chan)) OVER (PARTITION BY cust ORDER BY ts) AS group
FROM table
GROUP BY cust
Но Hive, похоже, не нравится комбинация concat_ws с разделом by (оба оператора работают, если я возьму другой вышел). Любая помощь приветствуется. Спасибо!