Joins tuple from two input streams iff their timestamps are overlapping and if the optional predicate validates to true.
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 ealier be discarded).
ONE_ONE: In each input stream there is exactly one corresponding object. With this setting, windows can potentially be avoided.
ONE_MANY: Each element in the right input stream has exactly one corresponding element in the left input stream
MANY_ONE: Each element in the left input stream has exactly one corresponding element in the right input stream
MANY_MANY: For each element in both input streams there may be multiple corrsponding elements.
Parameter
predicate: The predicate to evaluate over each incoming tuple from left and right
card: ONE_ONE, ONE_MANY, MANY_ONE, MANY_MANY (same as empty, see above)
SweepAreaName: Overwrite the default rule for using sweepAreas (e.g. TIJoinSA is used if the predicate contains other operations than "==", HashJoinSA is used if the predicate only contains "==")
Example
PQL
output = join({predicate = 'auction_id = auction'}, left, right)
CQL
SELECT * FROM left, right WHERE auction_id = auction