Datenanalyse-Tool in neuer Version

Apache Spark 1.6 mit neuem Dataset API

Michael Thomas

© Shutterstock.com/Bildagentur Zoonar GmbH

Nachdem Ende November 2015 eine Preview-Version veröffentlicht wurde, steht nun endlich die finale Version von Apache Spark 1.6 zum Download bereit. Das Update enthält insgesamt über 1000 Änderungen; zu den Highlights des Release zählen diverse Performance-Verbesserungen, das neue Dataset API und erweiterte Data-Science-Funktionen.

Performanc-Verbesserungen

Da Parquet in Spark zu den am häufigsten genutzten Datenformaten zählt und die Scan-Performance beträchtlichen Einfluss auf große Anwendungen haben kann, wurde in Spark 1.6 ein neuer Parquet-Reader implementiert, der Performance-Verbesserungen von bis zu 50 % verspricht: In Benchmarks konnte der Scan-Durchsatz für 5 Spalten demnach von 2,9 Millionen Zeilen auf 4,5 Millionen Zeilen pro Sekunde erhöht werden.

In früheren Versionen teilte Spark den verfügbaren Speicher in Ausführungsspeicher (Sorting, Hashing, Shuffling) und Cache-Speicher (Zwischenspeicherung „heißer“ Daten) auf. Mit Version 1.6 hält hingegen ein neuer Speicherverwalter Einzug in Spark. Dieser kümmert sich – je nach den Erfordernissen der laufenden Anwendung – automatisch um die Anpassung der beiden Speicherregionen; eine individuelle Einstellung wird somit obsolet. Den Spark-Entwicklern zufolge bedeutet dies für eine beträchtliche Anzahl an Anwendungen einen signifikanten Anstieg des anderweitig nutzbaren Speichers.

Da die Zustandsverwaltung für Streaming-Anwendungen eine wichtige Funktion darstellt, wurde das State Management API in Spark Streaming überarbeitet und mit mapWithState API ein neues API eingeführt, das linear mit der Anzahl der Updates skaliert und die Zustandsverwaltung bis um das 10-fache beschleunigen soll.

Dataset API

Ein weiteres Schlüsselfeature ist das neue Dataset API für die Arbeit mit typisierten Objekten. Als Erweiterung des DataFrame API soll es die Vorteile des RDD API und DataFrames kombinieren, indem es sowohl die statische Typisierung und Nutzerfunktionen von RDD, als auch die von DataFrames bekannte Typüberprüfung zur Kompilierungszeit bietet.

Data-Science-Funktionen

Die neuen Data-Science-Funktionen umfassen die Persistenz für Machine-Learning-Pipelines und neue Algorithmen für maschinelles Lernen.

Das ML-Pipline-Feature von Spark kann von Anwendungen aus dem Bereich des maschinellen Lernens für die Erstellung von Lern-Pipelines genutzt werden. Bislang war für deren externe Speicherung benutzerdefinierter Code vonnöten, mit dem neuen Pipeline-API erhält der Nutzer hingegen die Möglichkeit, Pipelines zu speichern bzw. zu laden und zu einem früheren Zeitpunkt erstellte Modelle zu einem späteren Zeitpunkt auf neue Daten anzuwenden. Zu den neuen Algorithmen für maschinelles Lernen zählen u. a. solche für univariate und bivariate Statistiken, Überlebensanalysen etc.

Eine ausführliche Liste aller Änderungen findet sich auf Databricks.

Über Apache Spark

Im Februar 2014 wurde Apache Spark aus dem Projekt-Inkubator der Apache Foundation entlassen und zum vollwertigen Projekt gewählt, wenige Wochen, nachdem Cloudera kommerziellen Support für das In-Memory-Framework angekündigt hatte. Bereits wenige Monate später konnte Spark auf eine kleine Erfolgsstory zurückblicken. So integrierte das US-amerikanische Unternehmen MapR Technologies Spark in seine Distributionen. DataStax, Spezialist für die Datenbank Cassandra, startete eine Kooperation mit Databricks, um eine Integration von Spark in Cassandra zu realisieren (siehe dazu auch das JAXenter-Interview mit Martin Van Ryswyk von DataStax).

Aufmacherbild: flying sparks von Shutterstock / Urheberrecht: Bildagentur Zoonar GmbH

Verwandte Themen:

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: