Time Window Functions
Time window functions return the inclusive lower and exclusive upper bound of the corresponding window. The functions for working with WindowView are listed below:
tumble
A tumbling time window assigns records to non-overlapping, continuous windows with a fixed duration (interval
).
Syntax
Arguments
time_attr
— Date and time. DateTime.interval
— Window interval in Interval.timezone
— Timezone name (optional).
Returned values
- The inclusive lower and exclusive upper bound of the corresponding tumbling window. Tuple(DateTime, DateTime).
Example
Query:
Result:
tumbleStart
Returns the inclusive lower bound of the corresponding tumbling window.
Syntax
Arguments
time_attr
— Date and time. DateTime.interval
— Window interval in Interval.timezone
— Timezone name (optional).
The parameters above can also be passed to the function as a tuple.
Returned values
Example
Query:
Result:
tumbleEnd
Returns the exclusive upper bound of the corresponding tumbling window.
Syntax
Arguments
time_attr
— Date and time. DateTime.interval
— Window interval in Interval.timezone
— Timezone name (optional).
The parameters above can also be passed to the function as a tuple.
Returned values
Example
Query:
Result:
hop
A hopping time window has a fixed duration (window_interval
) and hops by a specified hop interval (hop_interval
). If the hop_interval
is smaller than the window_interval
, hopping windows are overlapping. Thus, records can be assigned to multiple windows.
Arguments
time_attr
— Date and time. DateTime.hop_interval
— Positive Hop interval. Interval.window_interval
— Positive Window interval. Interval.timezone
— Timezone name (optional).
Returned values
- The inclusive lower and exclusive upper bound of the corresponding hopping window. Tuple(DateTime, DateTime)`.
Since one record can be assigned to multiple hop windows, the function only returns the bound of the first window when hop function is used without WINDOW VIEW
.
Example
Query:
Result:
hopStart
Returns the inclusive lower bound of the corresponding hopping window.
Syntax
Arguments
time_attr
— Date and time. DateTime.hop_interval
— Positive Hop interval. Interval.window_interval
— Positive Window interval. Interval.timezone
— Timezone name (optional).
The parameters above can also be passed to the function as a tuple.
Returned values
Since one record can be assigned to multiple hop windows, the function only returns the bound of the first window when hop function is used without WINDOW VIEW
.
Example
Query:
Result:
hopEnd
Returns the exclusive upper bound of the corresponding hopping window.
Syntax
Arguments
time_attr
— Date and time. DateTime.hop_interval
— Positive Hop interval. Interval.window_interval
— Positive Window interval. Interval.timezone
— Timezone name (optional).
The parameters above can also be passed to the function as a tuple.
Returned values
Since one record can be assigned to multiple hop windows, the function only returns the bound of the first window when hop function is used without WINDOW VIEW
.
Example
Query:
Result: