Apache Spark

Installere Apache Spark på Ubuntu 17.10

Installere Apache Spark på Ubuntu 17.10

Apache Spark er et dataanalyseverktøy som kan brukes til å behandle data fra HDFS, S3 eller andre datakilder i minnet. I dette innlegget installerer vi Apache Spark på en Ubuntu 17.10 maskin.

Ubuntu-versjon

For denne guiden vil vi bruke Ubuntu versjon 17.10 (GNU / Linux 4.1. 3.0-38-generisk x86_64).

Apache Spark er en del av Hadoop-økosystemet for Big Data. Prøv å installere Apache Hadoop og lag et prøveprogram med det.

Oppdaterer eksisterende pakker

For å starte installasjonen for Spark, er det nødvendig at vi oppdaterer maskinen vår med de nyeste tilgjengelige programvarepakkene. Vi kan gjøre dette med:

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

Ettersom Spark er basert på Java, må vi installere det på maskinen vår. Vi kan bruke hvilken som helst Java-versjon over Java 6. Her skal vi bruke Java 8:

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

Laste ned Spark-filer

Alle nødvendige pakker finnes nå på maskinen vår. Vi er klare til å laste ned de nødvendige Spark TAR-filene slik at vi kan begynne å konfigurere dem og kjøre et eksempelprogram med Spark også.

I denne guiden skal vi installere Gnist v2.3.0 tilgjengelig her:

Gnist nedlastingsside

Last ned de tilsvarende filene med denne kommandoen:

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

Avhengig av nettverkshastigheten kan dette ta opptil noen minutter siden filen er stor:

Laster ned Apache Spark

Nå som vi har lastet ned TAR-filen, kan vi trekke ut den i den nåværende katalogen:

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

Dette vil ta noen sekunder å fullføre på grunn av arkivens store filstørrelse:

Ikke arkiverte filer i Spark

Når det gjelder oppgradering av Apache Spark i fremtiden, kan det skape problemer på grunn av baneoppdateringer. Disse problemene kan unngås ved å opprette en softlink til Spark. Kjør denne kommandoen for å lage en softlink:

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

Legger til gnist til bane

For å utføre Spark-skript, legger vi det til banen nå. For å gjøre dette, åpne bashrc-filen:

vi ~ /.bashrc

Legg til disse linjene på slutten av .bashrc-fil slik at banen kan inneholde den eksekverbare filbanen Spark:

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

Nå ser filen ut som:

Legger til gnist til PATH

For å aktivere disse endringene, kjør følgende kommando for bashrc-fil:

kilde ~ /.bashrc

Lanserer Spark Shell

Nå når vi er rett utenfor gnistkatalogen, kjører du følgende kommando for å åpne apark shell:

./ gnist / søppel / gnistskall

Vi vil se at Spark shell er åpen nå:

Lanserer gnistskall

Vi kan se i konsollen at Spark også har åpnet en nettkonsoll på port 404. La oss besøke det:

Apache Spark Web Console

Selv om vi skal operere på selve konsollen, er nettmiljø et viktig sted å se på når du utfører tunge gnistjobber slik at du vet hva som skjer i hver gnistjobb du utfører.

Sjekk Spark shell-versjonen med en enkel kommando:

sc.versjon

Vi får tilbake noe sånt som:

res0: Streng = 2.3.0

Lage en prøve Gnistapplikasjon med Scala

Nå skal vi lage et eksempel på en Word Counter-applikasjon med Apache Spark. For å gjøre dette, last først 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 / spark / README.md MapPartitionsRDD [1] ved textFile kl: 24
scala>

Nå må teksten i filen deles inn i tokens som Spark kan administrere:

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

Initialiser nå tellingen for hvert ord til 1:

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

Til slutt beregner du hyppigheten til hvert ord i filen:

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

På tide å se på utdataene for programmet. Samle tokens og deres respektive tellinger:

scala> sum_each.samle inn()
res1: Array [(String, Int)] = Array ((pakke, 1), (For, 3), (Programmer, 1), (prosessering.,1), (Fordi, 1), (The, 1), (side] (http: // gnist.apache.org / dokumentasjon.html).,1), (klynge.,1), (its, 1), ([run, 1), (than, 1), (APIs, 1), (have, 1), (Try, 1), (computation, 1), (through, 1 ), (flere, 1), (Dette, 2), (graf, 1), (Hive, 2), (lagring, 1), (["Spesifisering, 1), (Til, 2), (" garn " , 1), (En gang, 1), (["Nyttig, 1), (foretrekker, 1), (SparkPi, 2), (motor, 1), (versjon, 1), (fil, 1), (dokumentasjon ,, 1), (bearbeiding ,, 1), (the, 24), (are, 1), (systems.,1), (params, 1), (not, 1), (different, 1), (refer, 2), (Interactive, 2), (R ,, 1), (gitt.,1), (if, 4), (build, 4), (when, 1), (be, 2), (Tests, 1), (Apache, 1), (thread, 1), (programs ,, 1 ), (inkludert, 4), (./ bin / run-example, 2), (Spark.,1), (pakke.,1), (1000).count (), 1), (Versions, 1), (HDFS, 1), (D…
scala>

Utmerket! Vi klarte å kjøre et enkelt Word Counter-eksempel ved å bruke Scala-programmeringsspråk med en tekstfil som allerede er tilstede i systemet.

Konklusjon

I denne leksjonen så vi på hvordan vi kan installere og begynne å bruke Apache Spark på Ubuntu 17.10 maskin og kjør en prøveapplikasjon på den også.

Les flere Ubuntu-baserte innlegg her.

OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...