Apache Spark

Installera Apache Spark på Ubuntu 17.10

Installera Apache Spark på Ubuntu 17.10

Apache Spark är ett dataanalysverktyg som kan användas för att bearbeta data från HDFS, S3 eller andra datakällor i minnet. I det här inlägget installerar vi Apache Spark på en Ubuntu 17.10 maskin.

Ubuntu-version

För den här guiden använder vi Ubuntu version 17.10 (GNU / Linux 4.13.0-38-generisk x86_64).

Apache Spark är en del av Hadoop-ekosystemet för Big Data. Försök att installera Apache Hadoop och skapa en applikation med den.

Uppdaterar befintliga paket

För att starta installationen för Spark är det nödvändigt att vi uppdaterar vår maskin med senaste tillgängliga programvarupaket. Vi kan göra detta med:

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

Eftersom Spark är baserat på Java måste vi installera det på vår maskin. Vi kan använda vilken Java-version som helst ovanför Java 6. Här kommer vi att använda Java 8:

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

Hämtar Spark-filer

Alla nödvändiga paket finns nu på vår maskin. Vi är redo att ladda ner de nödvändiga Spark TAR-filerna så att vi kan börja ställa in dem och köra ett exempelprogram med Spark också.

I den här guiden kommer vi att installera Spark v2.3.0 tillgänglig här:

Gnistnedladdningssida

Ladda ner motsvarande filer med det här kommandot:

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

Beroende på nätverkshastigheten kan det ta upp till några minuter eftersom filen är stor i storlek:

Hämtar Apache Spark

Nu när vi har hämtat TAR-filen kan vi extrahera i den aktuella katalogen:

tjära xvzf gnista-2.3.0-bin-hadoop2.7.tgz

Det tar några sekunder att slutföra på grund av arkivets stora filstorlek:

Oarkiverade filer i Spark

När det gäller att uppgradera Apache Spark i framtiden kan det skapa problem på grund av sökuppdateringar. Dessa problem kan undvikas genom att skapa en mjuklänk till Spark. Kör det här kommandot för att skapa en mjuklänk:

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

Lägga till gnista till sökvägen

För att köra Spark-skript lägger vi till det i sökvägen nu. För att göra detta, öppna bashrc-filen:

vi ~ /.bashrc

Lägg till dessa rader i slutet av .bashrc-fil så att sökvägen kan innehålla Spark-körbar filsökväg:

SPARK_HOME = / LinuxHint / gnista
exportera PATH = $ SPARK_HOME / bin: $ PATH

Nu ser filen ut:

Lägga till Spark till PATH

För att aktivera dessa ändringar, kör följande kommando för bashrc-fil:

källa ~ /.bashrc

Lanserar Spark Shell

Nu när vi är precis utanför gnistkatalogen, kör följande kommando för att öppna apark-skal:

./ gnista / korg / gnistskal

Vi kommer att se att Spark shell är öppen nu:

Lanserar gnistskal

Vi kan se i konsolen att Spark också har öppnat en webbkonsol på port 404. Låt oss besöka det:

Apache Spark Web Console

Även om vi kommer att fungera på själva konsolen är webbmiljön en viktig plats att titta på när du utför tunga gnistjobb så att du vet vad som händer i varje gnistjobb du utför.

Kontrollera Spark shell-versionen med ett enkelt kommando:

sc.version

Vi kommer tillbaka något som:

res0: Sträng = 2.3.0

Gör ett exempel på gnistapplikation med Scala

Nu gör vi ett exempel på ett Word Counter-program med Apache Spark. För att göra detta laddar du först en textfil i Spark Context på Spark-skal:

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

Nu måste texten i filen delas in i tokens som Spark kan hantera:

scala> var tokens = Data.flatMap (s => s.dela(" "))
tokens: org.apache.gnista.rdd.RDD [String] = MapPartitionsRDD [2] vid flatMap vid: 25
scala>

Initiera nu antalet för varje ord till 1:

scala> var tokens_1 = tokens.karta (s => (s, 1))
tokens_1: org.apache.gnista.rdd.RDD [(String, Int)] = MapPartitionsRDD [3] vid karta vid: 25
scala>

Slutligen beräknar du frekvensen för varje ord i filen:

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

Dags att titta på utdata för programmet. Samla in tokens och deras respektive antal:

scala> sum_each.samla()
res1: Array [(String, Int)] = Array ((paket, 1), (For, 3), (Program, 1), (bearbetning.,1), (Eftersom, 1), (The, 1), (sida] (http: // gnista.apache.org / dokumentation.html).,1), (kluster.,1), (dess, 1), ([kör, 1), (än, 1), (API: er, 1), (har, 1), (Prova, 1), (beräkning, 1), (genom, 1 ), (flera, 1), (This, 2), (diagram, 1), (Hive, 2), (lagring, 1), (["Specifying, 1), (To, 2), (" garn " , 1), (En gång, 1), (["Användbar, 1), (föredrar, 1), (SparkPi, 2), (motor, 1), (version, 1), (fil, 1), (dokumentation ,, 1), (bearbetning ,, 1), (the, 24), (are, 1), (systems.,1), (params, 1), (not, 1), (different, 1), (refer, 2), (Interactive, 2), (R ,, 1), (given.,1), (if, 4), (build, 4), (when, 1), (be, 2), (Tests, 1), (Apache, 1), (thread, 1), (program ,, 1 ), (inklusive, 4), (./ bin / run-exempel, 2), (Spark.,1), (paket.,1), (1000).count (), 1), (Versions, 1), (HDFS, 1), (D ..
scala>

Excellent! Vi kunde köra ett enkelt Word Counter-exempel med Scala-programmeringsspråk med en textfil som redan finns i systemet.

Slutsats

I den här lektionen tittade vi på hur vi kan installera och börja använda Apache Spark på Ubuntu 17.10 maskin och kör en provapplikation på den också.

Läs mer Ubuntu-baserade inlägg här.

Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...