Contexagon ist zurück im neuen, aufgefrischten Design! Wir erweitern die Inhalte nach und nach.

Big Data Analytics mit Apache Spark – Grundlagen Teil 2

Im ersten Teil der Grundlagen wurde zunächst das Thema Big Data Analytics im Allgemeinen behandelt, wir haben Begriffe definiert und die entsprechenden Frameworks Apache Hadoop und Apache Spark vorgestellt. Da diese Blogreihe speziell Big Data Analytics mit Apache Spark zum Thema hat, wurden anschließend die einzelnen Bestandteile dieses modernen In-Memory-Frameworks beleuchtet.

Im zweiten Teil geht es nun um erste praktische Erfahrungen im Umgang mit Spark. Sie sollten hier keine Scheu haben, die gezeigten Beispiele selbst auszuprobieren und zu variieren. Die gezeigten Beispiele wurden auf einem Macbook Pro lokal ausgeführt, sind aber auch auf Linux und Windows-Maschinen nachvollziehbar. Dies soll aber verdeutlichen: das Kennenlernen von Spark erfordert bei Weitem kein Rechenzentrum und auch mit einer Single-Node Maschine können schon wichtige Erkenntnisse aus einer Datenanalyse entstehen.

Bevor wir starten, hier nun noch einige grundlegende Hinweise:

Sollten Sie Spark auf einer Windows-Maschine ausprobieren wollen, empfehle ich dringend die Installation in einer Virtual Machine (z.B. mit Virtualbox) auf einem Linux-Derivat Ihrer Wahl. Eine mögliche Alternative für schwächere Systeme ist die native Installation unter Windows mit einer Linux-ähnlichen Shell (hier ist vor allem Cygwin bekannt). Die Shell von Spark, die sogenannte REPL (Read Eval Print Loop) von Scala oder Python, ist zwar betriebssystemunabhängig, die Beispiele zum Starten von Skripten, die Verzeichnisnavigation und ähnliches sind jedoch meist Linux-annotiert.

Auf Linux, oder bedingt auch auf OS X empfehle ich den Einsatz von Docker-Containern für die Installation von Spark. Hierzu haben wir einen gesonderten Blog-Post vorgesehen.

Prinzipiell sind erste Gehversuche mit Spark sehr einfach, wie wir gleich sehen werden.

Im ersten Schritt laden Sie die entsprechenden Spark-Pakete von den vorgeschlagenen Download-Mirrors herunter. Unter http://spark.apache.org/downloads.html bekommen Sie den jeweils aktuellen stabilen Release von Spark angeboten. Dies ist zum Zeitpunkt der Artikelerstellung die Version 1.5.0. Allerdings sind die Änderungen zwischen den einzelnen Releases im Rahmen dieser Übungen nicht besonders groß und so können Sie diese ohne bedenken mit älteren oder neueren Versionen ausprobieren. Sollten Sie schon erste (oder auch tiefere) Erfahrungen mit Apache Hadoop gesammelt haben und ist dieses noch auf Ihrem System vorhanden, können Sie bei der Auswahl des Downloads eine Version wählen, die keine eigene Hadoop-Version mitbringt. In diesem Fall müssen auf Ihrem System die entsprechenden Umgebungsvariablen gesetzt sein (HADOOP_HOME) und Spark greift auf die vorhandene Version zu. Ist bisher keine Hadoop-Installation auf dem Zielsystem vorhanden, so wählen Sie bitte im Dropdown-Menü am Besten das Paket mit der neuesten Hadoop-Version aus (derzeit 2.6).

Wenn das Paket heruntergeladen wurde, kann es einfach entpackt und an eine beliebige Stelle kopiert werden.

Wenn in Ihrem System die entsprechenden Systemvariablen für die JVM und Scala richtig gesetzt sind, lässt sich Spark mit dem Aufruf

./bin/spark-shell

starten und die REPL meldet sich nach einiger Zeit mit einem Prompt wie unten dargestellt.