Outer stream joins
Immediately pass the first event received and initialised downstream processors
Objective
Outer joins are different from inner joins by immediately passing the first event received on the outer stream into the processing pipeline, which can be useful for initialising downstream processors.
Any additional events that meet the join criteria are also emitted as they arrive.
Uses
It is extremely useful for ideal to prime processing.
Priming can improve performance by reducing the latency to get initial results, which are then refined or updated as more data becomes available.
Example
This code defines a join between the sitevisits and webpage.adclicks streams based on customerId.
expression It matches all
customerIdvalues fromsitevisitstowebpage.adclicks.merge events Matching events are merged.
left policy
sitevisitsevents expire after 30 minutes.right policy Matched
webpage.adclicksevents are deleted after the join.
New sitevisits events trigger with a new customerId initial processing and subsequent matching webpage.adclicks events continue until expiration, with cleanup after joining.
streams join:
expression: "sitevisits.customerId *= webpage.adclicks.customerId"
merge events: true
left policy:
time to live: 30 minutes
right policy:
delete on join: trueLast updated
Was this helpful?