Class PatternProcessFunction<IN,​OUT>

  • Type Parameters:
    IN - type of incoming elements
    OUT - type of produced elements based on found matches
    All Implemented Interfaces:
    Serializable, org.apache.flink.api.common.functions.Function, org.apache.flink.api.common.functions.RichFunction
    Direct Known Subclasses:
    PatternFlatSelectAdapter, PatternSelectAdapter

    @PublicEvolving
    public abstract class PatternProcessFunction<IN,​OUT>
    extends org.apache.flink.api.common.functions.AbstractRichFunction
    It is called with a map of detected events which are identified by their names. The names are defined by the Pattern specifying the sought-after pattern. This is the preferred way to process found matches.
    
     PatternStream<IN> pattern = ...
    
     DataStream<OUT> result = pattern.process(new MyPatternProcessFunction());
     
    See Also:
    Serialized Form
    • Constructor Detail

      • PatternProcessFunction

        public PatternProcessFunction()
    • Method Detail

      • processMatch

        public abstract void processMatch​(Map<String,​List<IN>> match,
                                          PatternProcessFunction.Context ctx,
                                          org.apache.flink.util.Collector<OUT> out)
                                   throws Exception
        Generates resulting elements given a map of detected pattern events. The events are identified by their specified names.

        TimeContext.timestamp() in this case returns the time of the last element that was assigned to the match, resulting in this partial match being finished.

        Parameters:
        match - map containing the found pattern. Events are identified by their names.
        ctx - enables access to time features and emitting results through side outputs
        out - Collector used to output the generated elements
        Throws:
        Exception - This method may throw exceptions. Throwing an exception will cause the operation to fail and may trigger recovery.