Pattern API
Apache Flink provides a pattern API to apply complex event processing on the data stream. Some important methods are:
begin
: This defines the pattern starting state and can be written as follows:
Pattern<Event, ?> start = Pattern.<Event>begin("start");
followedBy
: This appends a new pattern state but here other events can occur between two matching events as follows:
Pattern<Event, ?> followedBy = start.followedBy("next");
where
: This defines a filter condition for the current pattern state and, if the event passes the filter, it can match the state as follows:
patternState.where(new FilterFunction <Event>() { @Override public boolean filter(Event value) throws Exception { return ... // some condition } });
within
: This defines the maximum time interval for an event sequence to match the pattern post that is discarded. It's written as follows:
patternState.within(Time.seconds(10));
subtype(subClass)
: This defines a subtype condition for the current...