Menü
Developer

Apache Beam 2.12.0 erhält neue Query-Optionen für Python und Java

Das aus Googles Cloud Dataflow SDK hervorgegangene Tool bietet im neuesten Release neben Bugfixes auch einige neue Funktionen.

vorlesen Drucken Kommentare lesen

Apache Beam stellt eine portable API zur Verfügung, mit der sich datenparallele Processing Pipelines bauen lassen, die sich über eine Vielzahl von Execution Engines – den sogenannten Runners – ausführen lassen. Die Entwickler des Open-Source-Projekts haben nun Version 2.12.0 vorgelegt, die vor allem Verbesserungen und Fehlerbereinigungen, aber auch einige neue Funktionen enthält. Der Flink Runner beispielsweise unterstützt nun auch Exactly-once Writes in Verbindung mit KafkaIO.

Neben Apache Flink bietet Beam derzeit außerdem Runner für die Anbindung beispielsweise an Spark, Apex, Gearpump sowie Google Cloud Dataflow. Eine Matrixübersicht gibt Auskunft darüber, welcher Runner mit welchen Funktionen für welches System verfügbar ist. Ab Beam 2.12 lassen sich mit dem Dataflow-Runner nun auch Pipelines in Python 3.6 sowie 3.7 starten. Die Funktion ist allerdings noch experimentell. Die Beam-Entwickler empfehlen daher weiterhin den Einsatz von Python 3.5.

Weitere Neuerungen betreffen die Query-Optionen. In Java lassen sich mit dem neuen Release Abfragen in CassandraIO erstellen und in Python steht die Option einer BigQuery Custom Sink neu zur Verfügung. Einen zusammenfassenden Überblick aller Änderungen in Beam 2.12 liefert der Blogbeitrag zur Ankündigung, eine komplette Liste findet sich in den Release Notes.

Google hatte das ursprünglich als Nachfolger für MapReduce angelegte Cloud Dataflow Anfang 2016 als Open-Source-Projekt der Apache Software Foundation (ASF) übertragen. Unter dem Dach der ASF stieg das Tool mit dem neuen Namen Apache Beam schon nach knapp einjähriger Incubator-Phase zum Top-Level-Projekt auf. Apache Beam ist konsequent darauf ausgerichtet, nahtlos zwischen unterschiedlichen Umgebungen portierbar zu sein, unabhängig vom Betriebssystem, Cloud-Provider oder der Infrastruktur des Rechenzentrums. Die API-Unterstützung von Beam umfasst die vor allem die Plattformen Java und Python, es existiert darüber hinaus auch ein SDK für Go. (map)