从 Apache Flink 查询数据

Querying Data from Apache Flink

我希望从本地流媒体服务器迁移到 Apache Flink。我们拥有的一件事是 Apache Storm 之类的 DRPC 接口,用于 运行 查询处理拓扑中保存的状态。

例如:我有一堆传感器,我正在 运行 设置移动平均线。我想 运行 查询拓扑和 return 平均值高于固定值的所有传感器。

Flink 中是否有等效项,如果没有,实现等效功能的最佳方法是什么?

开箱即用的 Flink 目前没有提供查询内部操作状态的解决方案。不过你很幸运,因为有两种解决方案: 我们做了一个允许查询状态的有状态字数统计示例。可在此处获得:https://github.com/dataArtisans/query-window-example

对于即将推出的 Flink 版本之一,我们还在研究可查询状态用例的通用解决方案。这将允许查询任何内部操作的状态。

此外,在您的情况下,使用 Window 操作定期将值输出到 Elasticsearch 之类的东西是否就足够了。然后可以简单地从 Elasticsearch 查询结果。

他们将在下一个版本中提供名为 Queryable State 的现成解决方案。 这是一个例子
https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/test/query/QueryableStateITCase.java

但我建议您先阅读更多内容,然后再查看示例。