Each operator has a page with an interactive diagram computed by Trill. It covers filtering and projection, joins, pattern detection, windows and aggregates, and the operators they build on.
Operator What it does
Where Keeps the events whose payload satisfies a predicate.
Select Transforms each event’s payload; lifetimes are unchanged.
Select (with start time) Transforms each event’s payload using its start time as well.
SelectMany Turns each event into zero or more events with the same lifetime.
SelectByKey Transforms each event’s payload using the stream’s key as well.
Distinct Removes duplicates among the events alive at each moment.
Operator What it does
Union Merges two streams of the same type into one.
Multicast Lets one query use the same input stream more than once.
Operator What it does
Join Pairs left and right events with equal keys whose lifetimes overlap; each pair lives for the overlap.
LeftOuterJoin Like Join, but a left event also appears, through a separate selector, for the times when nothing matches it.
WhereNotExists Keeps each left event only for the times when no right event with the same key is alive.
Operator What it does
Count (tumbling window) Counts the events alive at each moment; after a tumbling window, that is a count per window.
Sum (hopping window) Sums a value over the events alive at each moment; after a hopping window, that is a sum per hop.
GroupApply Splits a stream by key, runs the same query on each group, and merges the results.
Operator What it does
Detect Finds sequences of events that match a pattern within a maximum duration.