concat_ws με χώρισμα από σε κυψέλη

ψήφοι
0

Τα δεδομένα μου ακολουθεί αυτή τη δομή:

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 με το διαμέρισμα από (και οι δύο δηλώσεις λειτουργήσει αν πάρω το άλλο έξω). Κάθε βοήθεια είναι ευπρόσδεκτη. Ευχαριστώ!

Δημοσιεύθηκε 19/03/2020 στις 22:01
πηγή χρήστη
Σε άλλες γλώσσες...                            

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