从 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 查询数据的主要内容,如果未能解决你的问题,请参考以下文章

大数据分析引擎Apache Flink: What, How, Why, Who, Where?

Apache Flink从入门到放弃——Flink简介

Flink集成Vert.x数据库异步驱动

Apache Flink从入门到放弃——Flink简介

Apache Flink从入门到放弃——Flink简介

Apache Flink 是不是应该用于历史查询