A session window is a combination of heartbeat and predicate window with a specific configuration. A session ends when a heartbeat is received. Than, all stored elements will be transferred.
Parameter
threshold:
The time to wait for a new element before closing the window [ms].startAtCurrentTime:
Configuration of heartbeats. True = system time is used; False: time starts at 0.
Remark: This is a blocking operator. The operator does not write elements before it receives a heartbeat.
Transformation
In the following the transformation of a session window to a heartbeat and predicate window is shown.
output = SESSIONWINDOW({ threshold = 1000, startatcurrenttime = true }, input )
It will be tranformed to
heartbeats = HEARTBEAT({ applicationtimedelay = 1000, realtimedelay = 1000, sendalwaysheartbeat = 'false', allowoutofordercreation = 'false', startatcurrenttime = 'true', sendOnlyOneHeartbeat = 'true' }, input ) output= PREDICATEWINDOW({ start = 'true', end = 'false', closewindowwithheartbeat = 'true' }, graph_data_with_heartbeat )