Sven Löffler
13. März 2015 0
Digitalisierung

Spark vs. Hadoop MapReduce – Wer macht das Rennen?

Die nächste Generation von Big-Data-Programmen steht schon bereit. Neue Tools wie Apache Spark dringen in den Markt und erzielen bei großen Unternehmen, wie IBM, Intel und Spotify sensationelle Erfolge. Spark kann Abfragen und Daten direkt im Arbeitsspeicher der Clusterknoten speichern und parallel auf mehrere Knoten verteilen, dadurch steigt die Leistungsfähigkeit enorm. Im Daytona Gray Sort Benchmark siegte Spark in der 100-Terabyte-Klasse mit einem neuen Weltrekord. Mit 23 Minuten drittelte Spark den alten Weltrekord eines Hadoop MapReduce-Cluster, der mit 72 Minuten aufwarten kann. Und noch dazu mit nur einem Zehntel der Rechenleistung! Ist Spark damit das neue Hadoop?
Spark + Hadoop

Entstehung und Eigenschaften von Spark

Apache Spark wurde von fast 250 Entwicklern im AMP Lab der University of California in Berkeley entwickelt. Die Idee war es einen benutzerfreundlichen Framework zu schaffen, welcher Latenzprobleme beseitigt, die bei Verwendung von Batch-Prozessen, wie Map-Reduce auftreten. Damit wird die Datenanalyse beschleunigt und Schreib-und Lesezugriffe vereinfacht. Apache Spark ist eine Open-Source Software und steht entsprechend kostenfrei zum Download bereit. Derzeit wird es durch das Unternehmen Databricks kommerziell unterstützt. Zum Einsatz kommt Spark vor allem im Hadoop File System (HDFS). Aber auch in Cassandra, HBase und Amazon S3 lässt sich Spark integrieren. Neben Hadoop bietet Spark auch einen SQL-Zugriff auf YARN, Hive und Mesos. Sparks Programmiersprache baut auf Scala, Java und Python auf. Kern des Apache Spark ist Scala, die zentrale Programmsprache.

Sparks Stärken und Schwächen gegenüber Map-Reduce

Zum Spark high-level Tool-Paket gehören: Spark SQL, MLlib for machine learning, GraphX, and Spark Streaming. Diese können alle in ein und derselben Anwendung kombiniert werden. Spark optimiert sowohl Durchsatz als auch Antwortzeiten von Abfragen durch effizienteres Prozessmanagement, spezielle Indexierung und Caching-Mechanismen. Die Entwickler selbst sprechen von teilweise 80 Prozent weniger Codezeilen und einer hundertfachen Geschwindigkeit im Vergleich zu Map Reduce. Reicht der Arbeitsspeicher der Knoten aus, kann Spark die Daten komplett in den Arbeitsspeicher auslagern. Durch diese In-Memory-Technologie steigt die Geschwindigkeit natürlich deutlich an. Ist die Datenmenge jedoch größer als der zur Verfügung stehende Arbeitsspeicher, können zwar die intelligenten Spark-Algorithmen die Daten selbst verwalten und zwischen Arbeitsspeicher und herkömmlichen Speicher transferieren, jedoch kann Spark unter diesen Umständen nicht auf seinen Cache zurückgreifen und ist demnach mit hoher Wahrscheinlichkeit viel langsamer als der Batch-Prozess von Hadoop Map-Reduce.

And the winner is …

Es wird schnell klar, dass Spark in Bereiche der Big-Data-Verarbeitung vordringen kann und wird, die für Hadoop nicht erreichbar sind. Vor allem wird Spark die erste Wahl bei Datenanwendungen sein, die geringe Latenz-Abfragen, iterative Berechnungen und Echtzeitverarbeitung benötigen. Somit werden sicherlich einige bestehende und zukünftige Anwendungen auf Spark zurückgreifen, jedoch wird es Spark nicht gelingen, Hadoop ganz zu ersetzen. Wichtig bei der Entscheidung für welche Technologie zum Einsatz kommt, sind nicht nur die aktuellen Industrietrends, die derzeit klar in Richtung In-Memory gehen, sondern der kundenspezifische Usecase. Daher lässt sich keine generelle Aussage treffen, ob nun Disk based Computing oder RAM based Computing die richtige Wahl ist.

Eines ist jedoch sicher, an Big Data führt kein Weg vorbei!

Big Data Grüße
Sven Löffler

Schreibe einen Kommentar

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

Mit dem Absenden des Kommentars akzeptieren Sie unsere Kommentar-Policy.

a) Leser sind herzlich zum Kommentieren eingeladen.

b) Kommentare sollten den Wert des Weblogs erhöhen.

c) Bitte haben Sie Verständnis dafür, dass wir Kommentare erst nach Prüfung frei schalten.

d) Kommentare, die nichts mit dem Thema des Beitrags zu tun haben, offensichtlich Urheberrechte verletzen, beleidigenden Inhalt oder persönliche Angriffe enthalten, werden gelöscht.

e) Links können gerne eingebunden werden, sollten aber zum Thema des jeweiligen Blog-Postings gehören. Links zu anderen Webseiten oder Blogs, die nichts mit dem jeweiligen Blog-Posting zu tun haben, werden als Spam angesehen und gelöscht.

 
 

Twitter

tsystemsde @tsystemsde
T-Systems DE  @tsystemsde
Deutschland belegt @MicrosoftDE zufolge einen Spitzenplatz im Kampf gegen Cyberkriminalität: @ZDNet_de: https://t.co/3x0O8Erds3 #Security 
T-Systems DE  @tsystemsde
28% der Mittelständler haben bereits finanzielle oder materiell Schäden durch Hacker @IT_rebellen: https://t.co/FS8cyDiv7n #security 
T-Systems DE  @tsystemsde
#Mirai hat dazu gelernt: Das #IoT Botnetz beherrscht jetzt auch DDoS-Angriffe auf dem Application Layer @heiseonline https://t.co/DYHtAkJGxi 
T-Systems DE  @tsystemsde
Sicherheit für Industrieanlagen: #Telekom #Security stellt neue Lösungen vor @lanline_de: https://t.co/Zz1rnWzeUA 
T-Systems DE  @tsystemsde
Diese 10 Mitarbeiter-Kategorien stellen ein besonderes IT-#Security-Risiko dar @COMPUTERWOCHE: https://t.co/LReXkudOSJ 
T-Systems DE  @tsystemsde
Laut @IntelSecurity Studie nutzen bereits 94% der deutschen Unternehmen #Cloud Services @ITZredaktion: https://t.co/kAfqqQ8cYJ 
T-Systems DE  @tsystemsde
Die Digital Division von #TSystems sucht Sales-Manager, Consultants, Produktmanager und #Cloud-Architekten:… https://t.co/Kh18nWbfxF 
T-Systems DE  @tsystemsde
„Der Mensch muss im Mittelpunkt stehen": #Telekom AR Stefanie Kreusel über digitale Verantwortung @gabonn: https://t.co/DwuITWj6pq