如何在 Flink CEP 中使用 "every" 模式运算符
How to use "every" pattern operator in Flink CEP
在 Esper CEP 引擎事件模式中,有 Every
运算符,表示当 every 关键字限定的子表达式计算结果为真或假时,模式子表达式应该重新启动。
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"));
提前致谢。
Flink 提供了一些 documentation 关于如何使用 every 的内容,如果您指定子类型,那么每次迭代都会调用它
start.subtype(SubEvent.class).where(new SimpleCondition<SubEvent>() {
@Override
public boolean filter(SubEvent value) {
return ... // some condition
}
});
但在我看来,这不是您要找的。但是,你可以看看一个轻量级的 Siddhi- Flink CEP library 通过使用它你将能够在 Flink
中使用 siddhi 查询语言
在 Esper CEP 引擎事件模式中,有 Every
运算符,表示当 every 关键字限定的子表达式计算结果为真或假时,模式子表达式应该重新启动。
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"));
提前致谢。
Flink 提供了一些 documentation 关于如何使用 every 的内容,如果您指定子类型,那么每次迭代都会调用它
start.subtype(SubEvent.class).where(new SimpleCondition<SubEvent>() {
@Override
public boolean filter(SubEvent value) {
return ... // some condition
}
});
但在我看来,这不是您要找的。但是,你可以看看一个轻量级的 Siddhi- Flink CEP library 通过使用它你将能够在 Flink
中使用 siddhi 查询语言