Ergänzung oder Konkurrenz

Apache Spark versus Hadoop

08.04.2015
Von 
Harald Weiss ist Fachjournalist in New York und Mitglied bei New York Reporters.
Die an der Berkeley-University entwickelte Daten-Analyse-Plattform Spark wird immer populärer. Viele meinen, dass damit ein baldiges Ende von Hadoop zu erwarten ist, doch eine dauerhafte gegenseitige Ergänzung ist auch im Bereich des Möglichen.
Ist Spark der Hadoop-Killer oder nur eine weitere Ergänzung?
Ist Spark der Hadoop-Killer oder nur eine weitere Ergänzung?
Foto: The Apache Software Foundation

Apaches Spark ist die neue Trend-Technologie auf den Gebieten Big Data, Analytics und Data Science. Viele Spark-Protagonisten meinen sogar bereits, dass diese neue Plattform alles andere derart in den Schatten stellt, dass es schon bald das dominierende Werkzeug für alle Daten-Wissenschaftler sein wird. Das erscheint nicht unbegründet, denn Sparks hohe Performance bei sehr großen Datenmengen hat dazu geführt, dass es bereits als Nachfolger von Hadoop angesehen wird. "Vom technischen Standpunkt aus betrachtet, ist Spark eine deutlich schnellere und leistungsstärkere Engine als Hadoop", sagt Reynold Xin, Daten-Engineer und Mitgründer von Databricks - also dem Unternehmen, das das Apache-Spark-Projekt anführt. Auch Forrester-Analyst Mike Gualtieri sieht Spark aufgrund der schnelleren Abarbeitung im Vorteil. "Hadoop wurde für große Datenmengen entwickelt - Spark für hohe Geschwindigkeiten", schwärmt er.

Rekordbrechende Performance

Daten schnell sortieren, das ist die Stärke von Hadoop.
Daten schnell sortieren, das ist die Stärke von Hadoop.
Foto: Shawn Hempel - Fotolia.com

Sparks Performance wurde erstmals öffentlich anerkannt, als damit im vorigen Jahr ein neuer Rekord beim Daytona-GraySort erzielt werden konnte. Bei diesem Test sind 100 TByte zu sortieren. Databricks hatte hierzu 206 Maschinen mit knapp 6.600 Kernen eingerichtet. Für den Sort-Job benötigte Sparks nur 23 Minuten - deutlich weniger als der bisherige Rekord von 72 Minuten, der von Yahoo mit Hadoop gehalten wurde. Wobei noch zu berücksichtigen ist, dass bei Hadoop 2.100 Nodes mit über 50.000 Kernen zum Einsatz kamen.

Viel mehr Features als Hadoop

Doch die wesentlich bessere Performance alleine reicht nicht aus, um bereits das Ende von Hadoop zu prophezeien. Mindestens ebenso bedeutend ist die Flexibilität und Einsatzbreite. So kann Spark in Verbindung mit unterschiedlichen Daten-Plattformen eingesetzt werden. Außerdem bietet es eine native Unterstützung von In-Memory, inklusive einer optimierten Datenverteilung zwischen Memory und Festplatte. Insofern scheinen diejenigen im Recht zu sein, die ein baldiges Ende von Hadoop erwarten.

Freund und Feind zugleich

Auf das Hadoop File-System HDFS kann Sparl verzichten.
Auf das Hadoop File-System HDFS kann Sparl verzichten.
Foto: Apache Software Foundation

Genaugenommen kann Spark beides sein: Ein dominierendes Konkurrenzprodukt oder eine ausgezeichnete Ergänzung zu Hadoop. So relativiert auch Gualtieri sein Spark-Lob: "Wenn man bedenkt, dass sich Gegensätze anziehen, dann bilden Spark und Hadoop ein perfektes Team, schließlich sind beides Cluster-Plattformen, die sich auf viele Nodes verteilen lassen und sehr unterschiedliche Vor- und Nachteile aufweisen."

Beim Hadoop-Spezialisten Cloudera unterstreicht man vor allem das gekoppelte Marktinteresse der beiden Plattformen. "Wer heute Hadoop adoptiert, geht fest davon aus, dass Spark dazu gehört", sagt deren Chef-Technologe, Eli Collins. Hierzu passt seine Einschätzung, wonach Spark nur eines von vielen Hadoop-Werkzeugen ist - ähnlich wie MapReduce, Drill, Impala und einige andere.

Universelle Datenplattformen

Doch in einem wesentlichen Punkt unterscheidet sich Spark von den vielen anderen Tools: Spark muss nicht notwendigerweise auf dem Hadoop-File-System HDFS aufsetzen. Es ist genauso effizient, wenn es mit anderen Datenplattformen, wie AWS S3, HBase oder Apache Cassandra betrieben wird. Cassandra entwickelt sich inzwischen zur bevorzugten Datenplattform für Spark. Laut einer Untersuchung von Typesafe laufen bereits 20 Prozent aller Spark-Instances auf Cassandra.

Schwere Zeiten für MapReduce

Vor allem im Vergleich zu MapReduce schneidet Spark wesentlich besser ab. MapReduce ist eine zehn Jahre alte Basis-Komponente aus der ursprünglichen Hadoop-Plattform. Es ist langsam, Batch-orientiert und sehr komplex. Spark hingegen ist schnell und flexibel; es kann sowohl für Batch-orientierte als auch für iterative oder Streaming-Analysen genutzt werden. Letzteres macht Spark insbesondere für Echtzeit-Analysen interessant. "Sparks flexible Nutzungsbreite bedeutet, dass bestehende Big-Data-Anwendungen schneller und differenzierter betrieben werden können", sagt Xin über die besonderen Vorteile von Spark.

Hohes Entwicklungstempo

Inzwischen genießt Sparks auch die Unterstützung vieler bedeutender IT-Unternehmen, wie IBM, Hortonworks, Cloudera, Pivotal und dem R-Spezialisten Revolution Analytics, der unlängst von Microsoft akquiriert wurde. Entsprechend groß ist das Entwicklungstempo. Am 13. März kam Spark 1.3 auf den Markt, das sich gegenüber dem Vorgänger vor allem durch eine schnellere Datenauswertung auszeichnet. Kernstück ist das neue DataFrames API, das vergleichbar ist mit den Data-Frames in R und Python(Pandas). Das neue API erlaubt eine schnellere Analyse von strukturierten Daten und vereinfacht die Spark-Nutzung für alle, die es gewohnt sind, mit einer Single-Maschine zu arbeiten. Für Juni ist dann bereits Spark 1.4 angekündigt, das vor allem ein R-Interface bieten wird. "Damit unterstützt Spark dann Scala, Python, Java und R - also alle vier dominierenden Big-Data-Sprachen", freut sich Matei Zaharia, CTO bei Databricks.

Komplementäre Eigenschaften

Die meisten auf Hadoop ausgerichteten Anbieter sehen keine nachteilige Konkurrenz in Spark, sondern erwarten eine sich ergänzende Aufgabenverteilung. "Hadoop ist allen anderen Datawarehouse-Lösungen weit überlegen; es gibt nichts, das bei der Offline-Analyse von Big Data an Hadoop heranreicht", meint beispielsweise Tomer Shiran, Vice President bei MapR. Und Patrick McFadin von DataStax fasst das so zusammen: "Hadoop ist der Standard, wenn es um Datawarehouse und Offline-Datenanalysen geht, doch Spark mit Cassandra ist eine bessere Alternative für alle Anwendungen, bei denen die Geschwindigkeit eine große Rolle spielt - beispielsweise Echtzeit-Analysen."

Hinzu kommt, dass es auch bei Hadoop eine Reihe an bedeutenden Weiterentwicklungen gibt. Die jüngsten Verbesserungen kommen ausgerechnet von der Berkeley University, wo Spark seine Geburtsstunde hatte. Dort wurde das neue File-System Tachyon für Hadoop entwickelt. Es ist 300mal schneller als HDFS und gleichzeitig Vollständig rückwärtskompatibel.