Big Data: Apache Spark tritt aus dem Schatten von Hadoop heraus

Das aus den AMPLabs der UC Berkeley hervorgegangene Framework für verteilte Kalkulationen auf Rechnerclustern hat in vielen Punkten Hadoop offenbar abgelöst.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Feuerwerk
Lesezeit: 5 Min.
Von
  • Alexander Neumann
Inhaltsverzeichnis

Eine von DataBricks kürzlich publizierte Studie auf Basis einer Umfrage zum Einsatz von Apache Spark lässt den Anschein erwecken, dass das auf In-Memory-Verarbeitung setzende Framework für Berechnungen auf Clustern allmählich aus dem Schatten von Apache Hadoop herausgetreten ist. Das ist insofern bemerkenswert, dass der Hadoop-Stack lange Zeit als Synonym für Big-Data-Technik gesehen wurde.

Durch Hadoop 2.x wurde jedoch schon vor rund zwei Jahren mit der neuen, die Datenverarbeitung von der Datenhaltung trennenden Architektur YARN (Yet Another Resource Negotiator) die Tür für andere nebenläufige Ablaufumgebungen als das ursprüngliche MapReduce geöffnet. Das und andere Gründe haben gerade in letzter Zeit das klassische Hadoop gegenüber Spark ins Hintertreffen geraten lassen. Das ist sogar daran abzulesen, dass das Framework mit mehr als 600 Kontributoren in den letzten zwölf Monaten – das sind fast doppelt so viele wie im Jahr zuvor – das derzeit wohl aktivste Open-Source-Projekt im Big-Data-Umfeld sein dürfte.

Die bedingt repräsentativen Zahlen der Erhebung beruhen auf einer im Sommer durchgeführten Befragung unter rund 1400 Spark-Anwendern aus über 800 Unternehmen. Unter ihnen nutzen 48 Prozent Spark autonom von einer anderen Technik, 40 Prozent setzen die Technik in Verbindung mit Hadoop YARN ein, und 11 Prozent verwenden sie gemeinsam mit der Cluster-Management-Technik Apache Mesos. Es ist zu beobachten, dass mittlerweile viele Unternehmen eine Spark-first-Strategie fahren. Viele Firmen nutzen derzeit noch Hadoop, weil sie über die Jahre hinweg einiges in die Technik investiert haben.

Das ist auch das, was Patrick Wendell, Mitgründer von DataBricks und einer der wichtigsten Mitarbeiter in der Spark-Entwicklung, im Gespräch mit heise Developer am meisten an der Untersuchung überrascht hat, vor allem auch deswegen, weil Spark eigentlich noch eine ziemlich junge Technik ist. Doch wohl einigermaßen reif genug, dass mittlerweile neue Features gar nicht mehr an erster Stelle für ihn stehen. Vielmehr sei es wichtig, dass Spark-Projekte einen auch für das Unternehmensgeschäft wichtigen Wert erreichen.

Als maßgeblichste Gründe für den Einsatz von Spark haben sich Performance (90 %), ein einfaches Programmiermodell (77 %) und ein "leichtgewichtiges Deployment" (71 %) hervorgetan. Etwas mehr als die Hälfte ziehen zumindest die Echtzeit-Streaming-Fähigkeiten als Gründe für die Adoption des Frameworks heran. Bei 51 % der Befragten spielt der Einsatz von Spark in einer Public Cloud eine Rolle. Für diese mag das Angebot von DataBricks interessant sein, denn das Unternehmen bietet seit Juni 2015 einen generell verfügbaren Software as a Service auf Basis von Spark.

Da große Teile des Frameworks in der Programmiersprache Scala geschrieben sind, verwundert es nur am Rande, dass über 70 Prozent der Anwender ebendiese JVM-Sprache (Java Virtual Machine) bei ihren Spark-Anwendungen nutzen. Andere zum Einsatz kommende Sprachen sind Python (58 %), SQL (36 %), Java (31 %) und R (18 %). Für Wendell überraschend ist der mittlerweile hohe Anteil an Python-Entwicklern. Er zeige, dass Spark gerade unter Data Scientists gesetzt sei, die diese Programmiersprache gern verwende.

Bei der Untersuchung, wo Spark eingesetzt wird, ist in der Studie festgestellt worden, dass die Technik bei 68 Prozent der Befragten in Business-Intelligence-Szenarien und in 52 Prozent in Data-Warehouse-Prozessen genutzt wird. Andere Einsatzmöglichkeiten sind der Bau von Recommendation-Engines (48 %), Processing-Anwendungen und System-Logs (40 %), Nutzererkennungsdienste (36 %) sowie Fraud Detection und Security (29 %).

Apache Spark ist ein quelloffenes Framework für verteilte Kalkulationen auf Rechnerclustern. Durch Bibliotheken für Streaming-Szenarien und Machine Learning lässt es sich unter anderem gut für Datenanalysezwecke einsetzen, weshalb es im Big-Data-Umfeld für Unternehmen von Interesse sein kann. Um funktionieren zu können, ist ein Cluster Manager und ein System für verteilten Speicher von Nöten. Spark unterstützt daher unter anderem Hadoop YARN, Apache Mesos, Hadoops Distributed File System, Apache Cassandra, Amazon S3 und OpenStacks Object Storage Swift.

Spark hat seine Wurzeln in einem Projekt des AMPLab der UC Berkeley. 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. Auch SAP sprang kürzlich auf den Spark-Zug auf, als es mit HANA Vora ein neues Werkzeug vorstellte, mit dem Unternehmen zur Analyse ihrer Daten eine Brücke zwischen den Big-Data-Frameworks Apache Hadoop und Apache Spark sowie der In-Memory-Datenbank HANA erhalten sollen.

Ende Oktober findet in Amsterdam die erste allein auf Spark ausgerichtete Konferenz statt. Erwartet werden hier mehr als 800 Teilnehmer aus über 40 Ländern.

Siehe dazu auf heise Developer:

(ane)