Joins tuple from two input streams iff their timestamps are overlapping and if the optional predicate validates to true.

Parameters

The card parameter describes how input elements can be joined. This optional information can be used to optimize processing (i.e. using less memory, because elements can earlier be discarded).

Example

PQL
output = join({predicate = 'auction_id = auction'}, left, right)
CQL
SELECT * FROM left, right WHERE auction_id = auction

Element Join

Sometimes it is necessary to have an element window before a join, for example, to only use the latest element for each or from one of the two input ports. Unfortunately, an element window has a blocking behavior. Using the element join avoids this blocking behavior by integrating the element window into the join operator itself. Therefore, there is no need to manually add an element window operator before this join.

With the parameters elementsizeport0 and elementsizeport1, the size of the element window can be defined for each input port. Optionally, the counter can be grouped, for example by a certain id, as can be seen in the example below.

JOIN({
    elementsizeport1 = 1,
    elementsizeport0 = 1,
    group_by_port_1 = ['id'],
    group_by_port_0 = ['id_center']              
}, left, right)