cep中使用“every”模式操作符

fxnxkyjh  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(395)

在espercep引擎事件模式中 Every 运算符,指示模式子表达式应在由every关键字限定的子表达式的计算结果为true或false时重新启动。
根据这份文件,我们可以使用 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"));

提前谢谢。

jckbn6z7

jckbn6z71#

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

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

但在我看来,这不是你想要的。但是,您可以查看一个轻量级的siddhi-flink cep库,通过它您可以在flink中使用siddhi查询语言

相关问题