0

在 Esper CEP 引擎事件模式中,有一个Every操作符指示模式子表达式应该在每个关键字限定的子表达式计算为真或假时重新启动。

根据此文档,我们可以通过every不同的方式使用运算符,例如:

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

我想知道在 Flink CEP 中哪些模式是可能的?我想every A -> B在 Flink 中使用,但不知道如何。

而 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"));

提前致谢。

4

1 回答 1

2

Flink 提供了一些关于如何使用 every 的文档,其中说如果您指定子类型,那么每次迭代都会调用

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

但在我看来,这不是你要找的。但是,您可以查看轻量级 Siddhi-Flink CEP 库,通过使用该库,您将能够在 Flink 中使用 siddhi 查询语言

于 2017-10-29T12:04:22.763 回答