1

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

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

举个例子;

有一个 UI 供用户为其设备定义规则。想象一下,有一个东西影子服务(例如 AWS IoT 中心)保持物理设备的状态,而且我认为将每个设备的特定规则放入影子规则中以及当影子演员接收到传感器数据时,这将是一个好方法,它可以发出添加了规则的数据,以供 Flink 作为规则引擎(通过 kafka)使用。所以我希望 Flink 执行我传入的传感器数据(及其规则),这些数据可能因每个设备而异。

4

1 回答 1

0

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

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

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

于 2017-08-29T23:44:59.223 回答