# Zeitfensterfunktionen
# tumble
Ein Tumbling-Zeitfenster weist Datensätzen nicht überlappende, kontinuierliche Fenster mit einer festen Dauer (interval
) zu.
tumble(time_attr, interval [, timezone])
Argumente
time_attr
- Datum und Uhrzeit. Datentyp DateTime.interval
- Fensterintervall im Datentyp Interval.timezone
— Zeitzone (optional).
Rückgabewerte
- Der inklusive untere und exklusive obere Grenzwert des entsprechenden Tumbling-Fensters.
- Typ:
Tuple(DateTime, DateTime)
Beispiel
SELECT tumble(now(), toIntervalDay('1'))
┌─tumble(now(), toIntervalDay('1'))─────────────┐
│ ('2023-10-27 00:00:00','2023-10-28 00:00:00') │
└───────────────────────────────────────────────┘
# hop
Ein Hopping-Zeitfenster hat eine feste Dauer (window_interval
) und springt in bestimmten Intervallen (hop_interval
). Wenn das hop_interval
kleiner als das window_interval
ist, überlappen sich die Hopping-Fenster. Daher können Datensätze mehreren Fenstern zugeordnet werden.
hop(time_attr, hop_interval, window_interval [, timezone])
Argumente
time_attr
- Datum und Uhrzeit. Datentyp DateTime.hop_interval
- Sprungintervall im Datentyp Interval. Sollte eine positive Zahl sein.window_interval
- Fensterintervall im Datentyp Interval. Sollte eine positive Zahl sein.timezone
— Zeitzone (optional).
Rückgabewerte
- Der inklusive untere und exklusive obere Grenzwert des entsprechenden Hopping-Fensters. Da ein Datensatz mehreren Hopping-Fenstern zugeordnet werden kann, gibt die Funktion nur die Grenze des ersten Fensters zurück, wenn die Hop-Funktion ohne
WINDOW VIEW
verwendet wird. - Typ:
Tuple(DateTime, DateTime)
Beispiel
SELECT hop(now(), INTERVAL '1' SECOND, INTERVAL '2' SECOND)
┌─hop(now(), toIntervalSecond('1'), toIntervalSecond('2'))──┐
│ ('2023-10-27 15:10:17','2023-10-27 15:10:19') │
└───────────────────────────────────────────────────────────┘
# tumbleStart
Gibt den inklusiven unteren Grenzwert des entsprechenden Tumbling-Fensters zurück.
tumbleStart(bounds_tuple);
tumbleStart(time_attr, interval [, timezone]);
# tumbleEnd
Gibt den exklusiven oberen Grenzwert des entsprechenden Tumbling-Fensters zurück.
tumbleEnd(bounds_tuple);
tumbleEnd(time_attr, interval [, timezone]);
# hopStart
Gibt den inklusiven unteren Grenzwert des entsprechenden Hopping-Fensters zurück.
hopStart(bounds_tuple);
hopStart(time_attr, hop_interval, window_interval [, timezone]);
# hopEnd
Gibt den exklusiven oberen Grenzwert des entsprechenden Hopping-Fensters zurück.
hopEnd(bounds_tuple);
hopEnd(time_attr, hop_interval, window_interval [, timezone]);