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
                      )
  • No labels