Apache Spark

Apache Spark installeren op Ubuntu 17.10

Apache Spark installeren op Ubuntu 17.10

Apache Spark is een tool voor gegevensanalyse die kan worden gebruikt om gegevens uit HDFS, S3 of andere gegevensbronnen in het geheugen te verwerken. In dit bericht zullen we Apache Spark installeren op een Ubuntu 17.10 automaat.

Ubuntu-versie

Voor deze handleiding gebruiken we Ubuntu versie 17.10 (GNU/Linux 4.13.0-38-generiek x86_64).

Apache Spark maakt deel uit van het Hadoop-ecosysteem voor Big Data. Probeer Apache Hadoop te installeren en maak er een voorbeeldtoepassing mee.

Bestaande pakketten bijwerken

Om de installatie voor Spark te starten, is het noodzakelijk dat we onze machine updaten met de nieuwste beschikbare softwarepakketten. Dit kunnen we doen met:

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

Omdat Spark op Java is gebaseerd, moeten we het op onze machine installeren. We kunnen elke Java-versie boven Java 6 gebruiken. Hier zullen we Java 8 gebruiken:

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

Spark-bestanden downloaden

Alle benodigde pakketten staan ​​nu op onze machine. We zijn klaar om de vereiste Spark TAR-bestanden te downloaden, zodat we ze kunnen instellen en ook een voorbeeldprogramma met Spark kunnen uitvoeren.

In deze handleiding gaan we installeren Spark v2.3.0 beschikbaar Hier:

Spark-downloadpagina

Download de bijbehorende bestanden met deze opdracht:

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

Afhankelijk van de netwerksnelheid kan dit enkele minuten duren omdat het bestand groot is:

Apache Spark downloaden

Nu we het TAR-bestand hebben gedownload, kunnen we het uitpakken in de huidige map:

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

Dit duurt enkele seconden vanwege de grote bestandsgrootte van het archief:

Niet-gearchiveerde bestanden in Spark

Als het gaat om het upgraden van Apache Spark in de toekomst, kan dit problemen veroorzaken als gevolg van Path-updates. Deze problemen kunnen worden vermeden door een softlink naar Spark . te maken. Voer deze opdracht uit om een ​​softlink te maken:

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

Spark toevoegen aan pad

Om Spark-scripts uit te voeren, zullen we het nu aan het pad toevoegen. Open hiervoor het bashrc-bestand:

v ~/.bashrc

Voeg deze regels toe aan het einde van de .bashrc-bestand zodat het pad het uitvoerbare Spark-bestandspad kan bevatten:

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

Nu ziet het bestand er als volgt uit:

Spark toevoegen aan PATH

Om deze wijzigingen te activeren, voert u de volgende opdracht uit voor het bashrc-bestand:

bron ~/.bashrc

Spark Shell lanceren

Wanneer we ons nu net buiten de spark-directory bevinden, voert u de volgende opdracht uit om apark-shell te openen:

./vonk/bak/vonkschaal

We zullen zien dat de Spark-shell nu wordt geopend:

Spark-shell starten

We kunnen in de console zien dat Spark ook een webconsole heeft geopend op poort 404. Laten we het eens bezoeken:

Apache Spark-webconsole

Hoewel we op de console zelf zullen werken, is de webomgeving een belangrijke plaats om naar te kijken wanneer u zware Spark-taken uitvoert, zodat u weet wat er gebeurt in elke Spark-taak die u uitvoert.

Controleer de Spark-shellversie met een eenvoudig commando:

sc.versie

We krijgen zoiets terug als:

res0: String = 2.3.0

Een voorbeeld van een Spark-toepassing maken met Scala

Nu gaan we een voorbeeld van een Word Counter-toepassing maken met Apache Spark. Om dit te doen, laadt u eerst een tekstbestand in Spark Context op Spark-shell:

scala> var Data = sc.textFile("/root/LinuxHint/spark/README.md")
Gegevens: org.apache.vonk.rdd.RDD[String] = /root/LinuxHint/spark/README.md MapPartitionsRDD[1] op textFile op :24
scala>

Nu moet de tekst in het bestand worden opgedeeld in tokens die Spark kan beheren:

scala> var tokens = gegevens.flatMap(s => s.splitsen(" "))
penningen: org.apache.vonk.rdd.RDD[String] = MapPartitionsRDD[2] op flatMap op :25
scala>

Initialiseer nu de telling voor elk woord op 1:

scala> var tokens_1 = tokens.kaart(en => (s,1))
tokens_1: org.apache.vonk.rdd.RDD[(String, Int)] = MapPartitionsRDD[3] op kaart op :25
scala>

Bereken ten slotte de frequentie van elk woord van het bestand:

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

Tijd om naar de uitvoer van het programma te kijken. Verzamel de tokens en hun respectieve tellingen:

scala> sum_each.verzamelen()
res1: Array[(String, Int)] = Array((pakket,1), (For,3), (Programma's,1), (verwerking.,1), (Omdat,1), (De,1), (pagina](http://spark.apache.org/documentatie.html).,1), (cluster.,1), (its,1), ([run,1), (than,1), (API's,1), (have,1), (Try,1), (computation,1), (through,1 ), (meerdere,1), (Dit,2), (grafiek,1), (Hive,2), (opslag,1), (["Specificeren,1), (Aan,2), ("garen" ,1), (Once,1), (["Handig,1), (prefer,1), (SparkPi,2), (engine,1), (versie,1), (bestand,1), (documentatie ,,1), (verwerking,,1), (de,24), (zijn,1), (systemen.,1), (params,1), (niet,1), (anders,1), (verwijzen,2), (Interactief,2), (R,,1), (gegeven.,1), (if,4), (build,4), (wanneer,1), (be,2), (Tests,1), (Apache,1), (thread,1), (programma's,,1 ), (inclusief,4), (./bin/run-voorbeeld,2), (Spark.,1), (pakket).,1), (1000).count(),1), (Versies,1), (HDFS,1), (D..
scala>

Uitstekend! We konden een eenvoudig Word Counter-voorbeeld uitvoeren met de programmeertaal Scala met een tekstbestand dat al in het systeem aanwezig was.

Conclusie

In deze les hebben we gekeken hoe we Apache Spark op Ubuntu 17 kunnen installeren en gebruiken.10-machine en voer er ook een voorbeeldtoepassing op uit.

Lees hier meer op Ubuntu gebaseerde berichten.

Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...
Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...