Inner stream joins
Strict join between two event streams
Objective
To perform a strict join between two event streams, an inner join is used.
This join operator emits an event only when a successful match occurs between streams. Otherwise, it waits until the join criteria are met, as determined by the configured policy settings.
Uses
Among the previously mentioned examples in the stream join concept page, the application for inner joins can impact the following:
Immediate feedback loop It enables businesses to receive immediate feedback on customer behaviour, allowing for rapid adjustments to marketing strategies.
Enhanced customer experience By understanding which ads are clicked by which customers, businesses can personalise experiences and improve overall engagement.
Example
This code defines a join operation for two streams (sitevisits and webpage.adclicks), based on a common customerId.
expression The join condition is that
sitevisits.customerIdshould matchwebpage.adclicks.customerId.merge events When the condition is met, the events from both streams are merged.
left policy (time to live) The
sitevisitsstream events are kept for a maximum of 30 minutes before they expire.right policy (delete on join) Once a matching event from
webpage.adclicksis joined withsitevisits, the event fromwebpage.adclicksis deleted.
This strategy merges data while ensuring that events are kept only within a specific timeframe and properly cleaned up once they are joined.
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?