繁体   English   中英

在没有所有Flink环境的情况下使用flink-cep模式匹配

[英]Using flink-cep pattern matching without all Flink enviroment

如标题中所示:是否可以仅在没有其他flink环境的情况下使用flink模式匹配?

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

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

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

  1. 万一遇到内存问题,可以继续使用Esper或Siddhi CEP引擎,因为它们不像Flink那样具有依赖性。

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

特别是,我发现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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM