Joins tuple from two input streams iff their timestamps are overlapping and if the optional predicate validates to true.
Parameters
predicate:
The predicate to evaluate over each incoming tuple from left and rightcard:
ONE_ONE, ONE_MANY, MANY_ONE, MANY_MANY (same as empty, see below)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 "==")
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 earlier 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
...
- corresponding 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
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
output = join({predicate = 'auction_id = auction'}, left, right) |
CQL
Code Block |
---|
SELECT * FROM left, right WHERE auction_id = auction |