Big-Data-Framework Spark unterstützt R und Python 3

Das quelloffene, auf In-Memory-Verarbeitung setzende Big-Data-Framework bekommt breite Rückendeckung durch IBM, das zum Beispiel die eigene Machine-Learning-Software SystemML der Spark-Community spendet.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Spark 1.4 unterstützt R
Lesezeit: 3 Min.
Von
  • Alexander Neumann

Durch die Einbindung des Projekts SparkR in die nun freigegebene Version 1.4 des Apache-Frameworks zur Echtzeitdatenanalyse Spark ist R als weitere unterstützte Programmiersprache hinzugekommen. Bislang schon mit der Big-Data-Technik einsetzbare Sprachen sind Java, Scala und Python, die sich wie R über eine API anbinden lassen. SQL-Unterstützung geschieht hingegen über die domänenspezifische Sprache Spark SQL.

Apache Spark ist ein quelloffenes, auf In-Memory-Verarbeitung setzendes Framework zur Berechnung auf Clustern, das seine Wurzeln in einem Projekt des AMPLab der UC Berkeley hat. Dort wurde es 2009 gestartet und ein Jahr später unter einer BSD-Lizenz veröffentlicht. 2013 kam Spark in der Apache Software Foundation unter, wo es im Februar 2014 zum Top-Level-Projekt aufstieg. Mittlerweile sehen viele in Spark den legitimen Nachfolger des Big-Data-Frameworks Hadoop.

Die Ergänzung um R ist genauso wichtig wie nachvollziehbar. Denn die vorrangig bei der statistischen Analyse und Data Science eingesetzte Sprache ist wie geschaffen für den Einsatz mit Spark, denn R-Programmierer können mithilfe des Frameworks Code schreiben beziehungsweise große Datensätze nutzen, die auf Basis von Sparks paralleler Ausführungsumgebung über mehrere Prozessorkerne oder Knoten skalieren und dabei alle durch Spark unterstützten Datenformate verwenden.

Mit Python kann Spark seit 2012 umgehen, allerdings bezog sich die Unterstützung allein auf Python 2.x. Das seit bereits 2008 verfügbare Python 3.x kann das Framework nun endlich mit Version 1.4 bedienen. Darüber hinaus wird die bislang experimentelle, mit Spark 1.2 eingeführte Machine-Learning-Pipelines-API nun für den Produktveinsatz empfohlen. Zusätzlich gibt es Neuerungen wie visuelles Debugging und etliche Monitoring-Features.

Außerdem gab es Überarbeitungen und neue Features bei der DataFrame API. Hier sind unter anderem Fensterfunktionen bei Spark SQL und in der DataFrame-Bibliothek zu nennen. Des Weiteren werden initiale Komponenten des Project Tungsten genutzt, um DataFrame-Operationen schnell ausführen zu können. Hinter Tungsten verbergen sich Änderungen von Spark-Betreiber Databricks an der Execution Engine von Spark, die zu einer effizienteren Ausnutzung von Datenspeichern und CPUs führen sollen.

Als großer Förderer von Spark tritt nun übrigens der Konzern IBM auf, der unabhängig vom neuen Release des Frameworks gleich mehrere Initiativen rund um Spark angekündigt hat. Einerseits wird Big Blue Spark als Cloud-Service auf der eigenen Platform as a Service (PaaS) BlueMix bereitstellen, wodurch IBM zum Konkurrenten von Databricks wird, das einen kommerziellen Spark-Cloud-Dienst auf Basis von Amazon Web Services' Public Service betreibt. Andererseits wird das Unternehmen seine Machine-Learning-Software SystemML der Spark-Community unter einer Open-Source-Lizenz zur Verfügung stellen. Und schließlich öffnet IBM ein Spark Technology Center in San Francisco – auch mit dem Ziel, dem Framework zu einer möglichst großen Verbreitung zu verhelfen. (ane)