Object - streams : StreamJoinProcessor

The StreamJoinProcessor object is responsible for performing SQLish joins between two or more streams. The onConditionFunc is the lambda function which represents the where clause in the join clause. The joining happens only if the condition is statified. nextProcessor is the process function of the next processor, which can be a Select processor, Aggregator processor, Having processor.. etc. The lhsStream is the left hand side stream of the join and its attached window is 'lhsWindow. The rhsStream is the right hand side stream of the join and its attached window is 'rhsWindow. The unidirectionalStream stream defines the stream by which the joining is triggered when the events are received. Usually it is lhsStream, in rare cases it can be rhsStream. The joinType is the type of the join and it can be any value defined by streams:JoinType.

Constructor

__init

( function(StreamEvent?[]) returns (()) nextProcessor, JoinType joinType, function(map, map) returns (boolean) onConditionFunc)

  • onConditionFunc function(map, map) returns (boolean)

Methods

Fields

  • lhsWindow Window?
  • description

  • rhsWindow Window?
  • description

  • lhsStream string?
  • description

  • rhsStream string?
  • description

  • unidirectionalStream string?
  • description

  • lockField int (default 0)
  • description

process

Process the events from both lhsStream and the rhsStream and perform the joining.

Parameters

  • streamEvents StreamEvent?[]
  • Stream events being joined.

setLHS

Sets the left hand side stream name and the respective window instance.

Parameters

  • streamName string
  • The name of the left hand side stream.

  • windowInstance Window
  • The window attached to the left hand side stream.

setRHS

Sets the right hand side stream name and the respective window instance.

Parameters

  • streamName string
  • The name of the right hand side stream.

  • windowInstance Window
  • The window attached to the right hand side stream.

setUnidirectionalStream

Sets the stream by which the joining is triggered.

Parameters

  • streamName string
  • The name of the stream. In most cases, the joining is triggered when the events are received by the left hand side stream even if the right hand side stream receives the events before the left hand side stream receives events.