我正在寻找从本土流媒体服务器迁移到 Apache Flink。我们有一个类似 Apache Storm 的 DRPC 接口,用于针对处理拓扑中保存的状态运行查询。
例如:我有一堆传感器,我正在运行移动平均线。我想对拓扑运行查询并返回平均值高于固定值的所有传感器。
Flink 中是否有等价物,或者如果没有,实现等价功能的最佳方法是什么?
我正在寻找从本土流媒体服务器迁移到 Apache Flink。我们有一个类似 Apache Storm 的 DRPC 接口,用于针对处理拓扑中保存的状态运行查询。
例如:我有一堆传感器,我正在运行移动平均线。我想对拓扑运行查询并返回平均值高于固定值的所有传感器。
Flink 中是否有等价物,或者如果没有,实现等价功能的最佳方法是什么?
开箱即用的 Flink 目前没有提供查询内部操作状态的解决方案。不过你很幸运,因为有两种解决方案: 我们做了一个允许查询状态的有状态字数示例。这可以在这里找到:https ://github.com/dataArtisans/query-window-example
对于即将推出的 Flink 版本之一,我们还在为可查询状态用例开发通用解决方案。这将允许查询任何内部操作的状态。
此外,在您的情况下,是否也可以使用窗口操作定期将值输出到 Elasticsearch 之类的东西。然后可以简单地从 Elasticsearch 查询结果。
他们将在下一个版本中提供称为 Queryable State 的开箱即用解决方案。这是一个示例
https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/test/query/QueryableStateITCase.java
但是我建议您应该先阅读更多内容,然后再查看示例。