Suche
Es funkt

Apache Spark 2.2.0: Structured Streaming verlässt die Experimentierphase

Melanie Feldmann

© Shutterstocki / Lukas Gojda

 

Der Release der Version 2.2.0 von Apache Spark entfernt das Experimental-Tag von Structured Streaming. Damit ist das Feature offiziell reif für die Produktion. Der SQL Support wurde weiter ausgebaut und auch die Machine-Learning-Funktionen haben ein Update bekommen. Insgesamt wickelten die Entwickler über 1.100 Tickets ab.

Structured Streaming ist produktionsreif

Mit Spark 2.0 kam das Structured Streaming. Dabei handelt es sich um ein High-Level-API für Continuous Applications. Das Ziel ist es, das Entwickeln von Streaming-Anwendungen, die mit Storage-Systemen interagieren, Systeme bedienen und Batch Jobs abwickeln, einfacher, konsistenter und fehlertoleranter zu machen. Mit 2.2.0 ist das Feature nun reif für den produktiven Betrieb und dementsprechend wurde der Tag Eperimental entfernt. Zusätzlich ist jetzt das Lesen und Schreiben in Streams oder Batches zu und von Apache Kafka möglich. Producer werden jetzt gecacht, um die Latenz von Kafka-zu-Kafka-Streams zu verbessern. Außerdem gibt es nun ein zusätzliches Stateful API für komplexes, zustandsbehaftetes Processing, das [flat]MapGroupsWithState nutzt. Ein Run Once Trigger senkt die Kosten von Clustern.

Mehr SQL

Spark behauptet von sich, die SQL-Engine mit den meisten Features und die standardkonformste Engine zu sein. Um diese Behauptung weiter zu untermauern, kommen auch mit Version 2.2.0 neue SQL-Features hinzu. Die CREATE TABLE-Syntax für Data-Source- und Hive-Serde-Tabellen wurde vereinheitlicht. Broadcast Hints  wie BROADCAST, BROADCASTJOIN und MAPJOIN für SQL-Querys kamen hinzu. Außerdem ist es nun möglich mehrzeilige JSON- und CSV-Dateien zu parsen.

Lesen Sie auch: Aus Big Data werde Fast Data

Maschinelles Lernen

Auch für SparkR gab es Erweiterungen. Unter anderem kamen ein Structured Streaming API, die Spaltenfunktionen to_json und from_json sowie mehrspaltiges approxQuantile für und in R hinzu. Mit den Erweiterungen will SparkR seinen Ruf als die umfassendste Bibliothek für verteiltes Maschinelles Lernen in R verteidigen.

Wie immer gibt es eine komplette Liste der Änderungen in den Release Notes. Zum Download geht es hier entlang.

Was ist Apache Spark?

Das AMPLab der University of California in Berkeley veröffentlichte 2010 ein neues Open-Source-Analysewerkzeug. Spark wurde 2013 zum Apache-Projekt und hat seither eine beeindruckende Entwicklung durchgemacht. Im Kern dreht sich bei Spark alles um die so genannten Resilient Distributed Datasets (RDD): verteilte, fehlertolerante, parallelisierbare Datenstrukturen. Diese können in Verbindung mit vielen verschiedenen Modulen genutzt werden, bspw. zur Verarbeitung von Graphen (GraphX), zum Streaming (Kafka, HDFS, Flume, ZeroMQ, Twitter) oder für Machine Learning basierend auf der MLib. Neben Scala unterstützt Spark auch Python und R als Programmiersprachen. Das erleichtert Data Scientists den Einstieg, die bereits Erfahrung mit einem der beiden Sprachen gesammelt haben.

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.