Installieren von Apache Spark unter Ubuntu 17.10

Apache Spark ist ein Datenanalysetool, mit dem Daten aus HDFS, S3 oder anderen Datenquellen im Speicher verarbeitet werden können. In diesem Beitrag werden wir Apache Spark auf einem Ubuntu 17.10-Computer installieren.

Ubuntu-Version

Ubuntu-Version

Für dieses Handbuch verwenden wir Ubuntu Version 17.10 (GNU / Linux 4.13.0-38-generic x86_64).

Apache Spark ist Teil des Hadoop-Ökosystems für Big Data. Versuchen Sie, Apache Hadoop zu installieren, und erstellen Sie damit eine Beispielanwendung.

Aktualisieren vorhandener Pakete

Um die Installation für Spark zu starten, müssen wir unsere Maschine mit den neuesten verfügbaren Softwarepaketen aktualisieren. Wir können dies tun mit:

sudo apt-get update && sudo apt-get -y dist-upgrade

Da Spark auf Java basiert, müssen wir es auf unserem Computer installieren. Wir können jede Java-Version über Java 6 verwenden. Hier werden wir Java 8 verwenden:

sudo apt-get -y install openjdk-8-jdk-headless

Spark-Dateien herunterladen

Alle erforderlichen Pakete sind jetzt auf unserem Computer vorhanden. Wir sind bereit, die erforderlichen Spark-TAR-Dateien herunterzuladen, damit wir sie einrichten und ein Beispielprogramm mit Spark ausführen können.

In diesem Handbuch installieren wir Spark v2.3.0, das hier verfügbar ist:

 Spark-Download-Seite

Spark-Download-Seite

Laden Sie die entsprechenden Dateien mit diesem Befehl herunter:

wget http://www-us.apache.org/dist/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz

Abhängig von der Netzwerkgeschwindigkeit kann dies einige Minuten dauern, da die Datei groß ist:

 Herunterladen von Apache Spark

Herunterladen von Apache Spark

Nachdem wir die TAR-Datei heruntergeladen haben, können wir sie im aktuellen Verzeichnis extrahieren:

tar xvzf spark-2.3.0-bin-hadoop2.7.tgz

Dies dauert aufgrund der großen Dateigröße des Archivs einige Sekunden:

 Nicht archivierte Dateien in Spark

Nicht archivierte Dateien in Spark

Wenn Apache Spark in Zukunft aktualisiert werden soll, kann dies zu Problemen aufgrund von Pfadaktualisierungen führen. Diese Probleme können vermieden werden, indem Sie einen Softlink zu Spark erstellen. Führen Sie diesen Befehl aus, um einen Softlink zu erstellen:

ln -s spark-2.3.0-bin-hadoop2.7 spark

Spark zum Pfad hinzufügen

Um Spark-Skripte auszuführen, werden wir es jetzt zum Pfad hinzufügen. Öffnen Sie dazu die bashrc-Datei:

vi ~/.bashrc

Fügen Sie diese Zeilen an das Ende der .bashrc-Datei, damit dieser Pfad den Pfad der ausführbaren Spark-Datei enthalten kann:

SPARK_HOME=/LinuxHint/spark
export PATH=$SPARK_HOME/bin:$PATH

Nun sieht die Datei so aus:

 Hinzufügen von Spark zum PFAD

Hinzufügen von Spark zum PFAD

Um diese Änderungen zu aktivieren, führen Sie den folgenden Befehl für die bashrc-Datei aus:

quelle ~/.bashrc

Starten der Spark-Shell

Wenn wir uns jetzt direkt außerhalb des Spark-Verzeichnisses befinden, führen Sie den folgenden Befehl aus, um eine Spark-Shell zu öffnen:

./spark/bin/spark-shell

Wir werden sehen, dass die Spark-Shell jetzt geöffnet ist:

 Starten der Spark-Shell

Starten der Spark-Shell

Wir können in der Konsole sehen, dass Spark auch eine Webkonsole auf Port 404 geöffnet hat. Lass es uns besuchen:

 Apache Spark Web Console

Apache Spark Web Console

Obwohl wir auf der Konsole selbst arbeiten werden, ist die Webumgebung ein wichtiger Ort, an dem Sie schwere Spark-Jobs ausführen können, damit Sie wissen, was in jedem von Ihnen ausgeführten Spark-Job passiert.

Überprüfen Sie die Spark-Shell-Version mit einem einfachen Befehl:

sc.version

Wir werden etwas zurückbekommen wie:

res0: Schnur = 2.3.0

Erstellen einer Beispiel-Spark-Anwendung mit Scala

Jetzt erstellen wir eine Beispiel-Wortzähleranwendung mit Apache Spark. Laden Sie dazu zuerst eine Textdatei in den Spark-Kontext in der Spark-Shell:

scala> var Data = sc.textFile(„/root/LinuxHint/spark/README.md“)
Daten: org.Apache.Funken.rdd.RDD = /root/LinuxHint/spark/README.md MapPartitionsRDD bei Textdatei bei :24
scala>

Jetzt muss der in der Datei vorhandene Text in Token unterteilt werden, die Spark verwalten kann:

scala> var tokens = Daten.flatMap(s => s.split(“ „))
Token: org.Apache.Funken.rdd.RDD = MapPartitionsRDD bei flatMap bei: 25
scala>

Initialisieren Sie nun die Anzahl für jedes Wort auf 1:

scala> var tokens_1 = Token.karte(s => (s,1))
tokens_1: org.Apache.Funken.rdd.RDD = MapPartitionsRDD bei Karte bei: 25
scala>

Berechnen Sie schließlich die Häufigkeit jedes Wortes der Datei:

var sum_each = tokens_1.reduceByKey((a, b) => a + b)

Zeit, um die Ausgabe für das Programm zu betrachten. Sammeln Sie die Token und ihre jeweiligen Zählungen:

scala> sum_each.collect()
res1: Array = Array((Paket,1), (Für,3), (Programme,1), (Verarbeitung.,1), (Weil,1), (Die,1), (Seite](http://spark.apache.org/documentation.html).,1), (Abb.,1), (its,1), ([run, 1), (than, 1), (APIs, 1), (have, 1), (Try, 1), (computation,1), (through,1), (mehrere, 1), (This, 2), (graph, 1), (Hive, 2), (storage, 1), ([„Spezifizieren, 1), (Zu, 2), („Garn“, 1), (Einmal, 1), ([„Nützlich, 1), (bevorzugen, 1) , (SparkPi,2), (Motor,1), (Version,1), (Datei,1), (Dokumentation,,1), (Verarbeitung,,1), (die,24), (sind,1), (Systeme.,1), (params,1), (nicht,1), (anders,1), (siehe,2), (Interaktiv,2), (R,,1), (gegeben.,1), (wenn,4), (bauen,4), (wenn,1), (sein,2), (Tests,1), (Apache,1), (Faden,1), (Programme,,1), (einschließlich,4), (./bin /run-Beispiel,2), (Funke.,1), (Paket.,1), (1000).count(),1), (Versionen,1), (HDFS,1), (D…
scala>

Ausgezeichnet! Wir konnten ein einfaches Wortzählerbeispiel mit der Programmiersprache Scala mit einer bereits im System vorhandenen Textdatei ausführen.

Fazit

In dieser Lektion haben wir uns angesehen, wie wir Apache Spark auf einem Ubuntu 17.10-Computer installieren und verwenden und auch eine Beispielanwendung darauf ausführen können.

Lesen Sie mehr Ubuntu-basierte Beiträge hier.

Schreibe einen Kommentar

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