这样可以嘛

> Pattern<Event, ?> pattern = Pattern.<Event>begin("start").where(new 
> SimpleCondition<Event>() {
>    @Override
>    public boolean filter(Event value) throws Exception {
>       return value.getName().equals("a") || value.getName().equals("b");
>    }
> }).next("next").where(new IterativeCondition<Event>() {
>    @Override
>    public boolean filter(Event value, Context<Event> ctx) throws Exception {
>       Event last = ctx.getEventsForPattern("start").iterator().next();
>       if(last != null){
>          if( (last.getName().equals("a") && value.getName().equals("b")) || 
> (last.getName().equals("b") && value.getName().equals("a"))){
>             return true;
>          }
>       }
>       return false;
>    }
>
>
> sherlock zw <[email protected]<mailto:[email protected]>> 于2021年5月14日周五
> 上午8:52写道:
> 兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
> 我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件
>
>

回复