2016-03-21 9 views
4

Ich bin auf der Suche nach einer Migration von einem homegrown Streaming-Server zu Apache Flink. Eine Sache, die wir haben, ist eine Apache Storm wie DRPC-Schnittstelle, um Abfragen gegen den Zustand in der Verarbeitungstopologie auszuführen.Abfrage von Daten von Apache Flink

Also zum Beispiel: Ich habe eine Reihe von Sensoren, auf denen ich einen gleitenden Durchschnitt laufen lasse. Ich möchte eine Abfrage für die Topologie ausführen und alle Sensoren zurückgeben, bei denen der Durchschnitt über einem festen Wert liegt.

Gibt es in Flink ein Äquivalent, oder wenn nicht, was ist der beste Weg, um äquivalente Funktionalität zu erreichen?

Antwort

4

Out-of-Box Flink bietet derzeit keine Lösung zur Abfrage des internen Betriebsstatus. Sie haben jedoch Glück, denn es gibt zwei Lösungen: Wir haben ein Beispiel für ein Beispiel für eine statusbehaftete Wortzählung verwendet, das die Abfrage des Status ermöglicht. Dies ist hier verfügbar: https://github.com/dataArtisans/query-window-example

Für eine der kommenden Versionen von Flink arbeiten wir auch an einer generischen Lösung für den abfragbaren Zustand Use Case. Dies ermöglicht die Abfrage des Status jeder internen Operation.

Auch könnte es in Ihrem Fall auch ausreichen, die Werte nur in regelmäßigen Abständen über eine Fensteroperation an etwas wie Elasticsearch auszugeben. Die Ergebnisse könnten dann einfach von Elasticsearch abgefragt werden.

1

Sie kommen mit der Out-of-Box-Lösung namens Queryable State in der nächsten Version. Hier ist ein Beispiel
https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/test/query/QueryableStateITCase.java

Aber ich schlage vor, Sie darüber mehr lesen sollen zuerst, dann das Beispiel sehen.

+0

Fand diesen Artikel sehr nützlich, es hat eine detaillierte Erklärung zur Implementierung von QueryableState: http://vishnuviswanath.com/flink_queryable_state2.html –

Verwandte Themen