2017-08-25 123 views

回答

1

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

但是,基础自动机不依赖于任何Flink代码,所以你可以自己提取它。有趣的课程将是NFANFACompiler

0

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

  1. 如果您有内存问题,您可以继续使用埃斯佩尔或西提CEP引擎,因为他们没有依赖关系像弗林克了。

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

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

你可以看看NFA文件的代码,以获得更多的理解https://github.com/haopeng/sase/tree/master/src/edu/umass/cs/sase/query

请让我知道如果你有一些查询