concat_ws с разделением в Hive - PullRequest
0 голосов
/ 20 марта 2020

Мои данные следуют этой структуре:

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 (оба оператора работают, если я возьму другой вышел). Любая помощь приветствуется. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...