Datenverarbeitung: Apache Flink 1.16 mit besserem Batch- und Stream-Processing

Nicht nur ein performanteres Stream-Processing, sondern auch eine verbesserte Batch-Verarbeitung zeichnen die Version 1.16 des Apache-Flink-Frameworks aus.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen

(Bild: Arh-sib / Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Frank-Michael Schlede
Inhaltsverzeichnis

Die umtriebige Flink-Community hat die neue Version 1.16 von Apache Flink vorgestellt. Das Framework zur Verarbeitung von Datenströmen wurde dabei im Bereich Batch-Verarbeitung nun um das SQL Gateway und die volle Kompatibilität zum HiveServer2 erweitert. Bei der Stream-Verarbeitung bietet Changelog State Backend den Nutzern und Nutzerinnen nun sekundengenaue oder auch auf Millisekunden genaue Checkpoints, um die Fehlertoleranz zu verbessern.

Das Entwicklerteam rund um Apache Flink begründet in seinem Blog-Eintrag auch, warum es die Integration von Stream und Batch zusammen mit der Weiterentwicklung von Flink Table Store kontinuierlich vorantreibt: Es geht darum, das Konzept des Streaming Warehouse weiterzuentwickeln.

Das Flink-Team will die Idee eines Streaming Warehouse vorantreiben, bei der das Data Warehouse gestreamt wird, sodass die Daten dann für jede Schicht im gesamten Warehouse in Echtzeit fließen können.

(Bild: Alibaba Group/Apache Software Foundation)

Grundsätzlich bezeichnet das Flink-Team ein Streaming Warehouse als ein Data Warehouse, das gestreamt wird. Dadurch sollen dann die Daten für jede Schicht im gesamten Warehouse in Echtzeit fließen können. Als Ziel haben sich die Entwickler und Entwicklerinnen die Realisierung eines Streaming Service mit durchgängiger Echtzeitleistung gesetzt, die durch eine einheitliche API und ein Computing Framework realisiert wird.

Das Entwicklerteam berichtet zudem, dass die Rückmeldungen aus verschiedenen Kanälen gezeigt haben, dass das SQL-Gateway eine von den Anwendern sehnlichst erwartete Funktion ist, was ganz besonders für die für Batch-Fraktion gilt. Diese Funktion wurde nun in der aktuellen Version 1.16 fertiggestellt. Bei SQL Gateway handelt es sich um eine Erweiterung und Verbesserung des SQL Clients, die Multi-Tenancy und „pluggable“ API-Protokolle (Endpunkte) unterstützt. Sie soll das Problem lösen, dass SQL Client nur einen einzelnen Benutzer bedienen und nicht mit externen Diensten oder Komponenten integriert werden kann. Derzeit unterstützt SQL Gateway die REST-API und das HiveServer2-Protokoll. Benutzer können sich über cURL, Postman und HTTP-Clients in verschiedenen Programmiersprachen mit SQL Gateway verbinden, um Stream-, Batch- und sogar OLAP-Jobs zu übermitteln.

Um die Kosten für die Migration von Hive auf Flink zu reduzieren, haben die Entwicklerinnen und Entwickler in dieser Version den HiveServer2 Endpoint und Verbesserungen der Hive Syntax eingeführt. Der HiveServer2-Endpunkt ermöglicht Benutzern und Benutzerinnen die Interaktion mit SQL Gateway und Hive JDBC/Beeline sowie die Migration mit Flink in das Hive-Ökosystem (DBeaver, Apache Superset, Apache DolphinScheduler und Apache Zeppelin). Verbinden sie sich mit dem HiveServer2-Endpunkt, registriert das SQL Gateway den Hive-Katalog, wechselt zum Hive-Dialekt und verwendet den Batch-Ausführungsmodus zur Ausführung von Aufträgen. Mit diesen Schritten sollen Anwender und Anwenderinnen die gleiche Erfahrung wie mit HiveServer2 machen können.

Auch die Kompatibilität mit der Hive-Syntax hat Flink verbessert und Unterstützung für mehrere Hive-Syntaxen hinzugefügt, die in der Produktion häufig verwendet werden. Die Kompatibilität mit der Hive-Syntax kann Anwendern und Anwenderinnen dabei unterstützen, bestehende Hive-SQL-Aufgaben nach Flink zu migrieren. Sind sie zudem mit der Syntax vertraut, wird es für diese Gruppe einfacher, die Hive-Syntax zu verwenden, um SQL zu schreiben und in Flink registrierte Tabellen abzufragen. Interessierte finden in der sehr umfangreichen Ankündigung zum Release 1.16 von Flink auf dem Blog der Apache Software Foundation weitere ausführliche Informationen und Hinweise.

(fms)