Flink CEP 实践01,概念细节篇-未完

本文详细探讨了Flink CEP中的关键概念,如SimpleCondition与IterativeCondition的区别,flatselect与select的使用,consecutive与allowCombinations的设定,以及AfterMatchSkipStrategy策略。在实践中遇到的问题包括:事件时间策略导致的匹配结果不一致、水印使用的问题,以及状态迁移与状态管理等。文章提供了相应的解决方案,并总结了CEP匹配流程及其对状态管理的影响。
摘要由CSDN通过智能技术生成

1,Flink CEP 中 SimpleCondition/IterativeCondition的区别
 

应该是针对 个体模式 与 组合模式的用法区别,我在这里使用的感觉就效果是一样的。

 

2,flatselect 和 select的区别

我在这里使用的感觉就效果是一样的,有个可以输出多个结果,输出list,一个是只能输出单个实体。

 

3,consecutive 和 allowCombinations关键字

consecutive()显式指定它, 如果你想要非确定性的松弛连续性,你可以使用allowCombinations()方法

 

4,循环模式 times(x)不是严格紧邻

对于循环模式(例如oneOrMore()和times()),默认是宽松的连续性。 如果你想要严格的连续性,你必须使用consecutive()显式指定它, 如果你想要非确定性的松弛连续性,你可以使用allowCombinations()方法。

1.正常的单例模式

Pattern<LoginEvent, LoginEvent> pattern = Pattern.<LoginEvent>begin("start").where(new SimpleCondition<LoginEvent>() {
            @Override
            public boolean filter(LoginEvent value) throws Exception {
                return "fail".equals(value.getEventType());
            }
        }).next("next").where(new SimpleCondition<LoginEvent>() {
            @Override
            public boolean filter(LoginEvent value) throws Exception {
                return "fail".equals(value.getEventType());
            }    //正常的单例模式
        }).within(Time.seconds(2));

2.如果换成循环模式:

 运行结果与我想的不一样,不应该有下图红框,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值