请教flink cep如何对无序数据处理

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

请教flink cep如何对无序数据处理

sherlock zw
兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件
Reply | Threaded
Open this post in threaded view
|

Re: 请教flink cep如何对无序数据处理

Peihui He


这样可以不?

sherlock zw <[hidden email]> 于2021年5月14日周五 上午8:52写道:
兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件
Reply | Threaded
Open this post in threaded view
|

回复: 请教flink cep如何对无序数据处理

sherlock zw
老哥,这个图片好像我这边好像显示不出来。能否再重新发一次


发件人: Peihui He<mailto:[hidden email]>
发送时间: 2021年5月14日 19:55
收件人: [hidden email]<mailto:[hidden email]>
主题: Re: 请教flink cep如何对无序数据处理

[cid:ii_koo9jn4u1]

这样可以不?

sherlock zw <[hidden email]<mailto:[hidden email]>> 于2021年5月14日周五 上午8:52写道:
兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件

Reply | Threaded
Open this post in threaded view
|

Re: 请教flink cep如何对无序数据处理

yue ma
这样可以嘛

> 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 <[hidden email]<mailto:[hidden email]>> 于2021年5月14日周五
> 上午8:52写道:
> 兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
> 我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件
>
>