Flink CEP中的序列匹配语义

时间:2017-10-23 20:22:33

标签: java scala apache-flink complex-event-processing flink-cep

Apache JIRA中存在一个问题:https://issues.apache.org/jira/browse/FLINK-3703。它允许在找到匹配序列后定义匹配算法应该继续的位置,并且有三种类型的行为:

  • from first - 继续保留所有事件以备将来的匹配(即当前行为)
  • after first - 在第一个元素后继续(删除第一个匹配事件并继续第二个事件)
  • after last - 在最后一个元素之后继续(有效地丢弃匹配序列的所有元素)

例如,如果我们有一系列事件:ABC和模式first -> second,我们会得到下一个结果:

  • from first - A -> BA -> CB -> C
  • after first - A -> BB -> C
  • after last - A -> B

现在关闭的问题是评论所有这些都在其他任务中实现:

  

这包括其他问题,包括Quantifier实现,skip-till-next以及循环模式中连续性的一些其他问题。

那么,有人可以告诉我如何使用Flink CEP库的当前API实现定义的行为吗?

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案,我想分享这些信息:找到匹配序列后匹配算法应该如何继续的行为可以由AfterMatchSkipStrategy定义。但是,它仅适用于1.4版本。好吧,我们正在等待发布。

以下是更多信息:https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/libs/cep.html#after-match-skip-strategy