Flink CEP 中的序列匹配语义
Sequence matching semantics in Flink CEP
Apache JIRA 中存在问题:https://issues.apache.org/jira/browse/FLINK-3703。它允许定义在找到匹配序列后匹配算法应该在何处继续,并且存在三种类型的行为:
from first
- 继续为未来的比赛保留所有事件(即当前行为)
after first
- 在第一个元素之后继续(删除第一个匹配事件并继续第二个事件)
after last
- 在最后一个元素之后继续(有效地丢弃匹配序列的所有元素)
例如,如果我们有一系列事件:A
、B
、C
和模式 first -> second
,我们将得到下一个结果:
from first
- A -> B
, A -> C
, B -> C
after first
- A -> B
, B -> C
after last
- A -> B
现在问题已关闭,所有这些都在其他任务中实现了评论:
This was covered by other issues including the Quantifier implementation, the skip-till-next and some additional issues for continuity within looping patterns.
那么,有人能告诉我如何使用 Flink CEP 库的当前 API 实现定义的行为类型吗?
我找到了我的问题的答案,我想分享以下信息:匹配算法在找到匹配序列后应该如何继续的行为可以由 AfterMatchSkipStrategy
定义。但是,它仅适用于 1.4 版。好吧,我们正在等待发布。
Apache JIRA 中存在问题:https://issues.apache.org/jira/browse/FLINK-3703。它允许定义在找到匹配序列后匹配算法应该在何处继续,并且存在三种类型的行为:
from first
- 继续为未来的比赛保留所有事件(即当前行为)after first
- 在第一个元素之后继续(删除第一个匹配事件并继续第二个事件)after last
- 在最后一个元素之后继续(有效地丢弃匹配序列的所有元素)
例如,如果我们有一系列事件:A
、B
、C
和模式 first -> second
,我们将得到下一个结果:
from first
-A -> B
,A -> C
,B -> C
after first
-A -> B
,B -> C
after last
-A -> B
现在问题已关闭,所有这些都在其他任务中实现了评论:
This was covered by other issues including the Quantifier implementation, the skip-till-next and some additional issues for continuity within looping patterns.
那么,有人能告诉我如何使用 Flink CEP 库的当前 API 实现定义的行为类型吗?
我找到了我的问题的答案,我想分享以下信息:匹配算法在找到匹配序列后应该如何继续的行为可以由 AfterMatchSkipStrategy
定义。但是,它仅适用于 1.4 版。好吧,我们正在等待发布。