Apache Spark

Installation af Apache Spark på Ubuntu 17.10

Installation af Apache Spark på Ubuntu 17.10

Apache Spark er et dataanalyseværktøj, der kan bruges til at behandle data fra HDFS, S3 eller andre datakilder i hukommelsen. I dette indlæg installerer vi Apache Spark på en Ubuntu 17.10 maskine.

Ubuntu-version

Til denne vejledning bruger vi Ubuntu version 17.10 (GNU / Linux 4.13.0-38-generisk x86_64).

Apache Spark er en del af Hadoop-økosystemet til Big Data. Prøv at installere Apache Hadoop, og lav en prøveapplikation med den.

Opdatering af eksisterende pakker

For at starte installationen af ​​Spark er det nødvendigt, at vi opdaterer vores maskine med de nyeste tilgængelige softwarepakker. Vi kan gøre dette med:

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

Da Spark er baseret på Java, skal vi installere det på vores maskine. Vi kan bruge enhver Java-version over Java 6. Her bruger vi Java 8:

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

Download af Spark-filer

Alle de nødvendige pakker findes nu på vores maskine. Vi er klar til at downloade de krævede Spark TAR-filer, så vi også kan begynde at konfigurere dem og køre et eksempelprogram med Spark.

I denne vejledning installerer vi Spark v2.3.0 tilgængelig her:

Gnist download side

Download de tilsvarende filer med denne kommando:

wget http: // www-os.apache.org / dist / gnist / gnist-2.3.0 / gnist-2.3.0-bin-hadoop2.7.tgz

Afhængigt af netværkshastigheden kan dette tage op til et par minutter, da filen er stor:

Downloader Apache Spark

Nu hvor vi har downloadet TAR-filen, kan vi udtrække i den aktuelle mappe:

tjære xvzf gnist-2.3.0-bin-hadoop2.7.tgz

Dette tager nogle få sekunder at fuldføre på grund af arkivets store filstørrelse:

Ikke arkiverede filer i Spark

Når det kommer til at opgradere Apache Spark i fremtiden, kan det skabe problemer på grund af stiopdateringer. Disse problemer kan undgås ved at oprette et softlink til Spark. Kør denne kommando for at oprette et softlink:

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

Tilføjelse af gnist til sti

For at udføre Spark-scripts tilføjer vi det til stien nu. For at gøre dette skal du åbne bashrc-filen:

vi ~ /.bashrc

Tilføj disse linjer til slutningen af .bashrc-fil, så stien kan indeholde Spark-eksekverbar filsti:

SPARK_HOME = / LinuxHint / gnist
eksporter PATH = $ SPARK_HOME / bin: $ PATH

Nu ser filen ud:

Tilføjelse af gnist til PATH

For at aktivere disse ændringer skal du køre følgende kommando for bashrc-fil:

kilde ~ /.bashrc

Lancering af Spark Shell

Nu når vi er lige uden for gnistkataloget, skal du køre følgende kommando for at åbne apark shell:

./ gnist / skraldespand / gnistskal

Vi ser, at Spark shell er åben nu:

Lancering af gnistskal

Vi kan se i konsollen, at Spark også har åbnet en webkonsol på port 404. Lad os besøge det:

Apache Spark Web Console

Selvom vi fungerer på selve konsollen, er webmiljø et vigtigt sted at se på, når du udfører tunge gnistjob, så du ved, hvad der sker i hvert gnistjob, du udfører.

Tjek Spark shell-versionen med en simpel kommando:

sc.version

Vi får noget tilbage som:

res0: Streng = 2.3.0

Lav en prøve Gnistapplikation med Scala

Nu laver vi en prøve Word Counter-applikation med Apache Spark. For at gøre dette skal du først indlæse en tekstfil i Spark Context på Spark shell:

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

Nu skal teksten, der findes i filen, opdeles i tokens, som Spark kan administrere:

scala> var tokens = Data.flatMap (s => s.split (""))
tokens: org.apache.gnist.rdd.RDD [String] = MapPartitionsRDD [2] ved flatMap ved: 25
scala>

Initialiser nu optællingen for hvert ord til 1:

scala> var tokens_1 = tokens.kort (s => (s, 1))
tokens_1: org.apache.gnist.rdd.RDD [(String, Int)] = MapPartitionsRDD [3] på kort ved: 25
scala>

Endelig beregner du hyppigheden af ​​hvert ord i filen:

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

Tid til at se på output til programmet. Saml poletterne og deres respektive optællinger:

scala> sum_each.indsamle()
res1: Array [(String, Int)] = Array ((pakke, 1), (For, 3), (Programmer, 1), (behandling.,1), (Fordi, 1), (The, 1), (side] (http: // gnist.apache.org / dokumentation.html).,1), (klynge.,1), (dens, 1), ([run, 1), (than, 1), (API'er, 1), (have, 1), (Try, 1), (beregning, 1), (gennem, 1 ), (flere, 1), (Dette, 2), (graf, 1), (Hive, 2), (opbevaring, 1), (["Specificering, 1), (Til, 2), (" garn " , 1), (Én gang, 1), (["Nyttig, 1), (foretrækker, 1), (SparkPi, 2), (motor, 1), (version, 1), (fil, 1), (dokumentation ,, 1), (behandling ,, 1), (the, 24), (are, 1), (systems.,1), (params, 1), (ikke, 1), (anderledes, 1), (henvis, 2), (Interaktiv, 2), (R ,, 1), (givet.,1), (hvis, 4), (build, 4), (når, 1), (be, 2), (Tests, 1), (Apache, 1), (tråd, 1), (programmer ,, 1 ), (herunder, 4), (./ bin / run-eksempel, 2), (Spark.,1), (pakke.,1), (1000).count (), 1), (Versions, 1), (HDFS, 1), (D…
scala>

Fremragende! Vi var i stand til at køre et simpelt Word Counter-eksempel ved hjælp af Scala-programmeringssprog med en tekstfil, der allerede findes i systemet.

Konklusion

I denne lektion så vi på, hvordan vi kan installere og begynde at bruge Apache Spark på Ubuntu 17.10 maskine og kør også en prøveapplikation på den.

Læs flere Ubuntu-baserede indlæg her.

Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...
Top Oculus App Lab-spil
Hvis du er Oculus-headset-ejer, skal du være opmærksom på sideloading. Sideladning er processen med at installere ikke-butiksindhold på dit headset. S...
Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...