concat_ws z podziałem przez w Ula

głosy
0

Moje dane następująco tę strukturę:

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

Staram się zwinąć i przenieść przez cust, gdzie kolejność kanałów są zgrupowane ale kolejność jest utrzymywany, czyli w tym formacie:

cust    group
1   A-B-C-A
2   B-C-B-C
3   A

Myślałem, że mogę to osiągnąć z składnia podobna do tej:

SELECT 
    cust
,   concat_ws('-',collect_list(chan)) OVER (PARTITION BY cust ORDER BY ts) AS group
FROM table
GROUP BY cust

Hive ale nie wydaje się niczym kombinacji concat_ws z partycję (oba twierdzenia działać, jeśli biorę drugi out). Każda pomoc jest mile widziana. Dzięki!

Utwórz 19/03/2020 o 22:01
źródło użytkownik
W innych językach...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more