Flink wie ein Eichhörnchen!

Apache Flink 1.10: Erweiterter Support für Python (PyFlink)

Katharina Degenmann

© Shutterstock.com/ alina_sagaydak

Der quelloffene Stream-Prozessor Apache Flink ist in Version 1.10 erschienen. Flink 1.10 schließt die Hive-Integration ab und bringt neben einem verbessertem Speichermanagement auch eine native Kubernetes-Integration als Beta-Version.

Apache Flink ist ein Open-Source-Projekt, das auf HDFS und YARN aufsetzt. Ziel ist es, einen hohen Abstraktionsgrad für die Lösung von Big-Data-Problemen bereitzustellen. Intern arbeitet Flink mit einem Key-Value-Pattern. Neben einem Scala-, Java- und Python-API steht mit Meteor auch eine eigene Skriptsprache zur Verfügung. Flink kombiniert verschiedene Streaming/Pipelining- und Batchverarbeitungstechnologien und hat sich aus der Frühzeit seiner Entwicklung zudem eine eigene Typen-Serialisierung, Speicherverwaltung und kostenbasierte Abfrageoptimierungs-Komponenten bewahrt.

Seine Wurzeln hat Apache Flink in dem 2009 gestarteten Forschungsprojekt “Stratosphere” der Technischen Universität Berlin, zu der sich im Laufe der Zeit die Humboldt-Universität zu Berlin, das Hasso-Plattner-Institut, die Königlich Technische Hochschule in Stockholm, die Eötvös-Loránd-Universität in Budapest sowie eine an Datenmanagement interessierte Community gesellten. Mit data Artisans gründeten einige Flink-Committer gar ein in Berlin ansässiges Startup, das sich ganz dem weiteren Wachstum von Flink verschrieben hat und mittlerweile einen kommerziellen Support für die Plattform anbietet. Nachdem es im April 2014 in den Incubator der ASF eingebracht wurde, erlangte Flink Mitte Januar 2015 offiziell den Rang eines Top-Level-Projekts. Ab sofort ist Apache Flink in der Version 1.10.0 verfügbar.

Apache 1.10: Das ist neu

Mit Flink 1.10 wurde vor allem an einer verbesserten Speicherverwaltung und -konfiguration gearbeitet. So wurde der Managed Memory erweitert, um auch die Speichernutzung von RocksDBStateBackend zu berücksichtigen.

Zudem wurde die Konfiguration eines Off-Heap-Status-Backends wie RocksDB vereinfacht, da sich nun dank einer Out-of-the-Box-Konfiguration auch das Speicherkontingent für RocksDBStateBackend genauso leicht anpassen lässt, wie die Größe des Managed Memory.

Darüber hinaus kann Flink ab sofort den nativen Speicherverbrauch von RocksDB begrenzen, um insbesondere in containerisierten Umgebungen wie Kubernetes ein Überschreiten des Kontingents zu verhindern.

PyFlink

PyFlink wurde erstmals als Vorschau in Apache Flink 1.9 eingeführt, mit dem Ziel, Flink mit voller Python-Unterstützung zu versehen. In Version 1.10 wurden daher zusätzliche Funktionen spendiert. Zum einen ist es nun möglich, PyFlink per pip zu installieren: pip install apache-flink.

Aber das ist noch nicht alles: Python User-Defined Functions (UDF) in der TableAPI/SQL erhalten ab sofort Support und auch Unterstützung für UDTF/UDAF ist geplant. Da Python 2 im letzten das Ende seiner Tage erreicht hat, wird es ab sofort nicht mehr unterstützt. Python 3.5 ist daher die Mindestanforderung.

Native Kubernetes-Integration (Beta)

Mit dem neuen Update wurde zudem die Active Kubernetes Integration (FLINK-9953) inklusive Support für Session Cluster in der Beta-Version eingeführt. Mit „aktiv“ ist in diesem Zusammenhang die native Kommunikation zwischen dem Flink ResourceManager (K8sResMngr) und Kubernetes gemeint, um neue Pods bei Bedarf zuzuweisen – ähnlich wie bei der Yarn- und Mesos-Integration.

Anwender haben zudem die Möglichkeit, auf Namespaces zurückzugreifen, wenn sie neue Flink-Cluster in Multi-Tenant-Umgebungen anlegen.

Quelle: Apache.org

Hive-Integration abgeschlossen

In der Vorgänger-Version Flink 1.9 wurde die Hive-Integration bereits angekündigt, nun ist abgeschlossen. Bislang hatten Nutzer die Möglichkeit, Flink-abhängige Metadaten (z.B. Kafka-Tabellen) im Hive-Metastore unter Verwendung von SQL DDL zu erhalten, in Hive definierte UDFs aufzurufen und Flink zum Lesen und Schreiben von Hive-Tabellen zu verwenden. Mit Flink 1.10 macht die Hive-Integration den finalen Schritt und ist damit reif für den Einsatz in Produktion.

Weitere Informationen

Insgesamt haben mehr als 200 Entwickler zu dem Update beigetragen und über 1200 Issues abgearbeitet. Alle weiteren Informationen zu Flink 1.10.0 stehen in den offiziellen Ankündigen und in den Release Notes bereit.

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina ist hauptberuflich hilfsbereite Online- und Print-Redakteurin sowie Bücher- und Filme-Junkie. Nebenbei ist sie Möchtegern-Schriftstellerin, die heimlich hofft, eines Tages ihr Geld als Kaffee-Testerin zu verdienen. Von Februar 2018 bis Februar 2020 hat sie als Redakteurin bei der Software & Support Media GmbH gearbeitet, davor hat sie Politikwissenschaft und Philosophie studiert.
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: