0

如标题所示:是否可以仅使用 flink 模式匹配而无需整个其他 flink 环境?

4

2 回答 2

1

Flink CEP 库不打算在 Flink 之外使用,因此不可能开箱即用。

但是底层自动机不依赖于任何 Flink 代码,因此您可以自己提取它。有趣的课程是NFANFACompiler

于 2017-08-25T13:24:07.677 回答
0

我猜你问这个问题是因为你试图解决的问题可能有一些内存要求,或者你想在 Pattern 类中执行一些更改。

  1. 如果您有内存问题,您可以继续使用 Esper 或 Siddhi CEP 引擎,因为它们不像 Flink 那样具有依赖项。

  2. 对于第二种情况,即您想对模式文件进行一些更改或查看查询处理如何工作,那么您应该使用 NFA 类,正如@Dawid 指出的那样。这是因为 CEP 模式匹配的工作原理基本上是将查询树解析为非确定性有限自动机,它在叶子节点接收输入流,并在每个级别使用运算符来关联流的值和过滤值,将其发送到上层运算符过滤等。在这棵树的根部接收最终值。

特别是如果您要与低级和基本的 CEP 引擎交互,我发现 SASE 引擎很有帮助。SASE 论文的链接是 https://arxiv.org/ftp/cs/papers/0612/0612128.pdf

您可以查看 NFA 文件的代码以了解更多信息 https://github.com/haopeng/sase/tree/master/src/edu/umass/cs/sase/query

如果您有任何疑问,请告诉我

于 2017-08-30T00:12:09.737 回答