Apache Flink 0.7.0 verfügbar

Michael Thomas
Apache Flink Logo (Quelle: Projektseite)

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- und einem Java-API steht auch eine eigene Skriptsprache namens „Meteor“ zur Verfügung; außerdem befindet sich zur Zeit ein Python-API in der Entwicklung.

Durch die Bereitstellung von über MapReduce hinausgehenden Funktionen können zahlreiche Aufgaben wie Iterationen, Join oder Cross abstrahiert werden, was die Formulierung und Ausführung komplexer Anfragen und Programme ermöglicht; Apache Flink stellt somit eine Alternative zu Hadoops MapReduce-Komponente dar.

Flink 0.7.0

Ab sofort ist Apache Flink in der Version 0.7.0 verfügbar. Neben Performanceverbesserungen und zahlreichen Bugfixes bringt das Update eine Synchronisierung der Scala- und Java-APIs mit sich und und führt darüber hinaus zahlreiche neue Features ein. Zu den Hauptfeatures gehören unter anderen:

Flink Streaming: Flink Streaming stellt eine Java-API bereit, die Streaming-Datenquellen wie Apache Kafka oder Apache Flume aufnehmen und in Echtzeit verarbeiten kann.

Neue Scala-API: Das Scala-API wurde komplett umgeschrieben; sowohl das Java- als auch das Scala-API verfügen jetzt über die gleiche Syntax und die gleichen Transformationen.

Hadoop MapReduce-Kompatibilität: Ab sofort können in Flink unmodifizierte Hadoop-Mapper und -Reducer laufen gelassen, sowie alle Hadoop-Datentypen genutzt werden; außerdem können Daten mit allen Hadoop-InputFormats gelesen werden.

Collection-based execution backend: Mithilfe dieses Backends können Flink-Jobs genauso einfach wie ein Java Collections-Programm ausgeführt werden; dabei werden sowohl Runtime als auch Optimizer umgangen. Besonders nützlich ist das Feature für die Prototypenentwicklung und das leichtgewichtige Einbetten von Flink-Jobs in Projekte.

BLOB-Service: Der neue Dienst übernimmt die Verteilung von JAR-Dateien und anderen Binärdaten zwischen JobManager, den TaskManagern und dem Client.

Intermediäre Datensätze: Das Umschreiben weiter Teile der Systeminterna hat die Einführung intermediärer Datensätze als First-Class-Objekte zur Folge. Um eine bessere Skalierbarkeit zu erreichen, wurde zudem die interne State-Machine, die für das Tracking verteilter Tasks zuständig ist, komplett umgeschrieben.

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: