Flink CEP:为不同类型的事件加入数据流的方法是什么?

时间:2017-07-12 06:10:28

标签: apache-flink flink-cep

假设我有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 个答案:

答案 0 :(得分:2)

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

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

  2. 您可以使用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

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