首页 文章

如何在Flink CEP中使用“every”模式运算符

提问于
浏览
0

在Esper CEP引擎事件模式中,有 Every 运算符,表示当由every关键字限定的子表达式求值为true或false时,应该重新启动pattern子表达式 .

According to this document,我们可以用不同的方式使用 every 运算符,如:

A -> B
    every ( A -> B )
    every A -> B
    A -> every B
    every A -> every B

我想知道Flink CEP中哪些模式可行?我想在Flink中使用 every A -> B 但不知道如何 .

以上哪种模式在Flink中表示此默认CEP模式? (使用Flink v1.1.4)

Pattern<Event, ?> pattern = Pattern.begin("start").where(evt -> evt.getId() == 42)
    .followedBy("end").where(evt -> evt.getName().equals("end"));

提前致谢 .

1 回答

  • 2

    Flink提供了一些documentation关于如何使用每个说明如果你指定子类型然后它将被调用每次迭代

    start.subtype(SubEvent.class).where(new SimpleCondition<SubEvent>() {
        @Override
        public boolean filter(SubEvent value) {
            return ... // some condition
        }
    });
    

    但在我看来,这不是你想要的 . 但是,您可以通过使用它来查看轻量级Siddhi- Flink CEP library,您可以在Flink中使用siddhi查询语言

相关问题