Apache Flink CEP的动态流SQL

时间:2017-07-20 12:17:45

标签: apache-kafka apache-flink complex-event-processing flink-cep

我想将流SQL插入Kafka以供Flink用于CEP。这是一个好方法吗?

我知道Flink上不允许动态模式定义,我需要应用可以在无界事件流上更改的规则。

举个例子;

用户可以使用UI为其设备定义规则。想象一下,有一个遮蔽服务的东西(例如AWS IoT集线器)保持物理设备的状态,而且我认为将每个设备的特定规则放入阴影中以及接收传感器数据时是一种好方法通过影子角色,它可以发布数据,其规则被Flink作为规则引擎(通过kafka)使用。所以我希望Flink能够为每个设备执行传入的传感器数据(及其规则)。

1 个答案:

答案 0 :(得分:0)

我从您的问题中了解到,您希望处理具有不同规则的不同流。如果是这种情况,您应该将这些设备的流发送到Kafka主题。然后在Flink中启动多个CEP实例。

StreamExecutionEnvironment envrionment1 = StreamExecutionEnvironment.createLocalEnvironment(1);
...
StreamExecutionEnvironment envrionmentn = StreamExecutionEnvironment.createLocalEnvironment(1);

每个实例都应订阅Kafka主题(每个主题代表一个设备)并在每个Flink实例中添加差异模式。