首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FlinkCEP:我可以引用早期的事件来定义后续的匹配吗?

FlinkCEP:我可以引用早期的事件来定义后续的匹配吗?
EN

Stack Overflow用户
提问于 2019-03-23 00:09:54
回答 1查看 83关注 0票数 0

下面是一个简单的例子:

代码语言:javascript
复制
val pattern = 
   Pattern.begin[Event]("start").where(_.getId == 42).
   next("middle").subtype(classOf[SubEvent]).where(x => x.getVolume == **first event matched**.getVolume) ...

本质上,第二个事件(“中间”)需要访问第一个事件("start")的状态。是否可以在不需要外部状态的情况下在FlinkCEP中做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-23 02:47:54

好的。在上下文的帮助下,您可以通过特定的模式获取事件。

代码语言:javascript
复制
new IterativeCondition<Event>() {
            private static final long serialVersionUID = 8061969839441121955L;

            @Override
            public boolean filter(Event value, IterativeCondition.Context<Event> ctx) throws Exception {
                double sum = 0.0;
                for (Event e : ctx.getEventsForPattern("middle")) {
                    sum += e.getPrice();
                }
                return sum > 5.0;
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55309321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档