Apache, Ververica
18.09.2019, 08:13 Uhr
Neue Funktionen in Apache Flink 1.9.0
Die Apache Flink Community hat Apache Flink 1.9.0 veröffentlicht. Ziel Projekts ist die Entwicklung eines Stream-Processing-Systems zur Vereinheitlichung und Bereitstellung von Echtzeit- und Offline-Datenverarbeitungsanwendungen sowie ereignisgesteuerten Anwendungen.
In der Version wurden die Stream- und Batch-Verarbeitungsfunktionen von Flink in eine einzige, einheitliche Runtime integriert. Ververica (ehemals data Artisans) aus Berlin erläutert die verschiedenen Neuigkeiten rund um Apache Flink 1.9:
Wichtige Funktionen sind die Wiederherstellung im Batch-Stil für Batch-Jobs und eine Vorschau auf die neue Blink-basierte Suchmaschine für Tabellen-API- und SQL-Abfragen. Jetzt verfügbar ist auch das State Processor API, das es Benutzern ermöglicht, Savepoints mit Flink DataSet-Jobs zu lesen und zu schreiben. Schließlich enthält Flink 1.9 noch ein überarbeitetes WebUI und Vorschauen auf das neue Python Table API von Flink und dessen Integration in das Apache Hive-Ökosystem. Weitere Informationen finden Sie im Release Changelog.
Die binären Verteilungs- und Quell-Artefakte für diese Version sind nun über die Download-Seite des Flink-Projekts verfügbar, zusammen mit der aktualisierten Dokumentation. Flink 1.9 ist API-kompatibel zu früheren 1.x-Versionen für APIs, die mit der @Public-Annotation kommentiert sind.
Neue Funktionen und Verbesserungen
Feinkörnige Batch-Recovery (FLIP-1): Die Zeit, die benötigt wurde, um einen Batch-Job (DataSet, Table API und SQL) nach einem Task-Fehler wiederherzustellen, wurde erheblich verkürzt. Bis Flink 1.9 wurden Task-Fehler in Batch-Jobs behoben, indem alle Tasks abgebrochen und der gesamte Job neu gestartet wurde, das heißt der Job wurde von Grund auf neu gestartet und der gesamte Fortschritt wurde aufgehoben. Mit dieser Version kann Flink konfiguriert werden, um die Wiederherstellung auf die Aufgaben zu beschränken, die sich in der gleichen Failover-Region befinden. Eine Failover-Region ist die Gesamtheit von Aufgaben, die über den Pipeline-Datenaustausch verbunden sind. Daher definieren die Batch-Shuffle-Verbindungen eines Jobs die Grenzen seiner Failover-Bereiche. Weitere Informationen finden Sie in FLIP-1.
Zustandsprozessor-API (FLIP-43): Bis zu Flink 1.9 war der Zugriff auf den Zustand eines Jobs von außen auf den (noch) experimentellen abfragbaren Zustand beschränkt. Mit dieser Version wird eine neue, leistungsstarke Bibliothek zum Lesen, Schreiben und Ändern von Status-Snapshots über die Batch-DataSet-API eingeführt. Weitere Informationen finden Sie in FLIP-43.
Stop-with-Savepoint (FLIP-34): Das Abbrechen mit einem Savepoint ist eine gängige Operation zum Stoppen/Wiederaufsetzen, Forken oder Aktualisieren von Flink-Jobs. Die bestehende Implementierung garantierte jedoch nicht die Ausgabepersistenz auf externen Speichersystemen für genau einmalige Sinks. Um die End-to-End-Semantik beim Stoppen eines Jobs zu verbessern, führt Flink 1.9 einen neuen SUSPEND-Modus ein, um einen Job mit einem Savepoint zu stoppen, der mit den emittierten Daten konsistent ist. Weitere Informationen finden Sie in FLIP-34.
Flink WebUI-Überarbeitung: Nach einer Diskussion über die Modernisierung der Interna von Flinks WebUI wurde diese Komponente mit der neuesten stabilen Version von Angular rekonstruiert – im Grunde genommen ein Bump von Angular 1.x auf 7.x. Die neu gestaltete Version ist der Standard in 1.9.0, es gibt jedoch einen Link zum Wechsel auf die alte WebUI. In Zukunft wird die Funktionsparität für die alte Version der WebUI nicht mehr garantiert.