Ich habe folgende Daten:Wie Daten filtern Fensterfunktionen in Funken mit
rowid uid time code
1 1 5 a
2 1 6 b
3 1 7 c
4 2 8 a
5 2 9 c
6 2 9 c
7 2 10 c
8 2 11 a
9 2 12 c
Nun wollte ich die Daten so filtern, dass ich die Zeilen 6 und 7 für eine bestimmte uid entfernen ich möchte nur eine Zeile mit dem Wert ‚c‘ Code halten
also die erwarteten Daten sein sollten:
rowid uid time code
1 1 5 a
2 1 6 b
3 1 7 c
4 2 8 a
5 2 9 c
8 2 11 a
9 2 12 c
ich Fensterfunktion so etwas wie dies mit:
val window = Window.partitionBy("uid").orderBy("time")
val change = ((lag("code", 1).over(window) <=> "c")).cast("int")
Dies würde uns helfen, jede Zeile mit einem Code "c" zu identifizieren. Kann ich diese erweitern Reihen heraus filtern die erwarteten Daten zu erhalten
können Sie Ihre Anforderung klären? Ist es so, dass Sie für jede UID nur eine Zeile für jeden Code behalten möchten oder nur für den Code "c", den Sie dafür benötigen? – mattinbits