从 Apache Flink 查询数据
Posted
技术标签:
【中文标题】从 Apache Flink 查询数据【英文标题】:Querying Data from Apache Flink 【发布时间】:2016-03-21 14:32:18 【问题描述】:我希望从国产流媒体服务器迁移到 Apache Flink。我们有一个类似 Apache Storm 的 DRPC 接口,用于针对处理拓扑中的状态运行查询。
例如:我有一堆传感器,我正在运行移动平均线。我想对拓扑运行查询并返回平均值高于固定值的所有传感器。
Flink 中是否有等价物,如果没有,实现等价功能的最佳方法是什么?
【问题讨论】:
【参考方案1】:开箱即用的 Flink 目前没有提供查询内部操作状态的解决方案。不过你很幸运,因为有两种解决方案: 我们做了一个允许查询状态的有状态字数示例。可以在这里找到:https://github.com/dataArtisans/query-window-example
对于即将发布的 Flink 版本之一,我们还在研究可查询状态用例的通用解决方案。这将允许查询任何内部操作的状态。
此外,在您的情况下,是否也可以使用窗口操作定期将值输出到 Elasticsearch 之类的东西。然后可以简单地从 Elasticsearch 查询结果。
【讨论】:
【参考方案2】:他们将在下一版本中提供名为 Queryable State 的开箱即用解决方案。 这是一个例子https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/test/query/QueryableStateITCase.java
但我建议您应该先阅读更多内容,然后再查看示例。
【讨论】:
觉得这篇文章很有用,对如何实现QueryableState有详细的解释:vishnuviswanath.com/flink_queryable_state2.html以上是关于从 Apache Flink 查询数据的主要内容,如果未能解决你的问题,请参考以下文章