Warum sollen wir es lernen?
Es wurde berichtet, dass Spark eine der wertvollsten technischen Fähigkeiten ist, die es zu lernen gibt.
Spark wird schnell zu einem der leistungsstärksten Big Data Tools! Sie können Programme auch bis zu 100x schneller als MapReduce im Speicher ausführen.
Was ist Spark?
Apache Spark ist ein Open-Source-Framework für verteiltes Cluster-Computing. Spark ist ein Datenverarbeitungs-Engine, welches entwickelt wurde, um schnellere und benutzerfreundlichere Analysen als Hadoop MapReduce bereitzustellen. Es bietet allgemeine APIs in Java, Scala, Python und R.
Es wurde im Februar 2013 veröffentlicht und erfreut sich aufgrund seiner Benutzerfreundlichkeit und Geschwindigkeit großer Beliebtheit. Bevor die Apache Software Foundation Spark in Besitz nahm, stand sie unter der Kontrolle der University of California, Berkeleys AMP Lab.
Spark kann Daten verwenden, die in verschiedenen Formaten gespeichert sind:
- Cassandra
- AWS S3
- HDFS
- Und viele mehr
Spark vs MapReduce
- Für MapReduce müssen Dateien in HDFS gespeichert werden, für Spark nicht!
- Spark kann auch Vorgänge ausführen, die bis zu 100x schneller sind als bei MapReduce
- Spark speichert die meisten Daten im Speicher und MapReduce schreibt die meisten Daten auf die Festplatte
Spark RDDs
Im Zentrum von Spark steht die Idee eines Resilient Distributed Dataset (RDD).
Resilient Distributed Dataset(RDD) verfügt über 3 Hauptfunktionen:
- Verteilte Datenerfassung
- Parallele Operationen
- Fähigkeit, viele Datenquellen zu verwenden

Es gibt zwei Arten von Spark Operationen:
- Transformationen -> sind im Grunde eine Anweisung, die man folgen muss
- Aktionen -> Führen Sie die Anweisungen des Rezepts aus und geben Sie etwas zurück
Oft schreiben Sie einen Methodenaufruf, es wird aber kein Ergebnis angezeigt, bis Sie die Aktion aufrufen. Dies ist sinnvoll, da Sie bei einem großen Datensatz nicht alle Transformationen berechnen möchten, bis Sie sicher sind, dass Sie sie ausführen möchten.