Github user dawidwys commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6104#discussion_r192737030
  
    --- Diff: docs/dev/libs/cep.md ---
    @@ -1524,7 +1524,48 @@ In `CEP` the order in which elements are processed 
matters. To guarantee that el
     
     To guarantee that elements across watermarks are processed in event-time 
order, Flink's CEP library assumes
     *correctness of the watermark*, and considers as *late* elements whose 
timestamp is smaller than that of the last
    -seen watermark. Late elements are not further processed.
    +seen watermark. Late elements are not further processed. Also, you can 
specify a sideOutput tag to collect the late elements come after the last seen 
watermark, you can use it like this.
    +
    +<div class="codetabs" markdown="1">
    +<div data-lang="java" markdown="1">
    +
    +{% highlight java %}
    +PatternStream<Event> patternStream = CEP.pattern(input, pattern);
    +
    +OutputTag<String> lateDataOutputTag = new 
OutputTag<String>("late-data""){};
    +
    +SingleOutputStreamOperator<ComplexEvent> result = patternStream
    +    .sideOutputLateData(lateDataOutputTag)
    +    .select(
    +        new PatternSelectFunction<Event, ComplexEvent>() {...}
    +    );
    +
    +DataStream<String> lateData = result.getSideOutput(lateDataOutputTag);
    +
    +
    +{% endhighlight %}
    +
    +</div>
    +
    +<div data-lang="scala" markdown="1">
    +
    +{% highlight scala %}
    +
    +val patternStream: PatternStream[Event] = CEP.pattern(input, pattern)
    +
    +val lateDataOutputTag = OutputTag[String]("late-data")
    +
    +val result: SingleOutputStreamOperator[ComplexEvent] = patternStream
    +      .sideOutputLateData(lateDataOutputTag)
    +      .select(
    +        {pattern: Map[String, Iterable[ComplexEvent]] => ComplexEvent()
    +      })
    +
    +val lateData: DataStream<String> = result.getSideOutput(lateDataOutputTag)
    +
    +{% endhighlight %}
    +
    +</div>
     
    --- End diff --
    
    You missed closing `</div>`


---

Reply via email to