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

Flink CEP: Which method to join data streams for different type of events?

假设我有2种不同类型的数据流,一种提供天气数据,另一种提供车辆数据,我想使用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 方法连接两个流。

  2. 您可以使用 flink-siddhi 包使用 SiddhiCEP 处理流,它提供了同时为多个数据流描述模式(通过 SiddhiQL)的方式。有关 flink-siddhi 的更多信息,请参见:https://haoch.github.io/flink-siddhi/. The source code is available on GitHub: https://github.com/haoch/flink-siddhi. Documentation for SiddhiCEP and SiddhiQL: https://docs.wso2.com/display/CEP420/SiddhiQL+Guide+3.1.

希望这些信息对您有所帮助。