Flink CEP:哪种方法可以为不同类型的事件加入数据流?

Posted

技术标签:

【中文标题】Flink CEP:哪种方法可以为不同类型的事件加入数据流?【英文标题】:Flink CEP: Which method to join data streams for different type of events? 【发布时间】:2017-07-12 06:10:28 【问题描述】:

假设我有两种不同类型的数据流,一种提供天气数据,另一种提供车辆数据,我想使用 Flink 对数据进行复杂的事件处理。

Flink 1.3.x 中哪种方法是正确的使用方法?我看到了不同的方法,例如 Union、Connect、Window Join。基本上我只想尝试这样一个简单的 CEP:

IF weather is wet AND vehicle speed > 60 
WITHIN the last 10 seconds
THEN raise alert

谢谢!

【问题讨论】:

【参考方案1】:

在我看来,有两种方法可以解决这个问题:

    对不同类型的事件使用一个共同的父类型,并在使用CEP库之前通过union方法连接两个流。

    您可以使用 flink-siddhi 包使用 SiddhiCEP 处理流,它提供了同时为多个数据流描述模式(通过 SiddhiQL)的方法。有关flink-siddhi 的更多信息,请点击此处:https://haoch.github.io/flink-siddhi/。源代码在 GitHub 上可用:https://github.com/haoch/flink-siddhi。 SiddhiCEP 和 SiddhiQL 的文档:https://docs.wso2.com/display/CEP420/SiddhiQL+Guide+3.1。

希望这些信息会有所帮助。

【讨论】:

以上是关于Flink CEP:哪种方法可以为不同类型的事件加入数据流?的主要内容,如果未能解决你的问题,请参考以下文章

Watermark 在 Flink CEP 中远远落后

Flink CEP 处理匹配事件

Flink CEP - Flink的复杂事件处理

Flink CEP 事件未触发

Flink之CEP-API分析

案例简介flink CEP