2016-03-23 7 views
0

Ich war wirklich überrascht, MonetDB, eine analytische Spalte-basierte DB hat keine analytischen Funktionen wie lead() oder lag(). Ich brauche sie wirklich, um Zeit zwischen Benutzerereignissen zu berechnen. Die Tabellen sind groß (mehr als eine Milliarde Zeilen) und ich möchte keinen Self-Join durchführen.Schnellste Implementierung von Lead() oder Lag() Fensterfunktionen in MonetDB

Gibt es eine Möglichkeit, schnelle Lead() oder Lag() Fensterfunktionen in MonetDB zu emulieren?

+0

Könnte es benutzerdefinierte Funktionen sein? Wenn ja, wie schnell wird es sein? – bigdatarefiner

Antwort

1

Beide Operatoren setzen Kenntnisse über die Zeilenreihenfolge in Ihrer Tabelle voraus. Im Allgemeinen kann ein relationales System die Einfüge-/Aktualisierungsreihenfolge nicht befolgen. Deshalb wird es nicht direkt unterstützt.

Wenn Sie wissen, auf welcher (n) Spalte (n) Sie das Lead/Lag implementieren möchten, ist ein UDF in der Tat der richtige Weg. Dies könnte sogar in R oder Python entwickelt werden. Grüße, Martin

Verwandte Themen