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:哪种方法可以为不同类型的事件加入数据流?的主要内容,如果未能解决你的问题,请参考以下文章