Apache Spark

Installazione di Apache Spark su Ubuntu 17.10

Installazione di Apache Spark su Ubuntu 17.10

Apache Spark è uno strumento di analisi dei dati che può essere utilizzato per elaborare i dati da HDFS, S3 o altre origini dati in memoria. In questo post installeremo Apache Spark su Ubuntu 17.10 macchine.

Versione Ubuntu

Per questa guida, useremo Ubuntu versione 17 Ubuntu.10 (GNU/Linux 4.13.0-38-generico x86_64).

Apache Spark fa parte dell'ecosistema Hadoop per i Big Data. Prova a installare Apache Hadoop e crea un'applicazione di esempio con esso.

Aggiornamento dei pacchetti esistenti

Per avviare l'installazione di Spark, è necessario aggiornare la nostra macchina con gli ultimi pacchetti software disponibili. Possiamo farlo con:

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

Poiché Spark è basato su Java, dobbiamo installarlo sulla nostra macchina. Possiamo usare qualsiasi versione di Java sopra Java 6. Qui, useremo Java 8:

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

Download di file Spark

Tutti i pacchetti necessari ora esistono sulla nostra macchina. Siamo pronti per scaricare i file TAR Spark richiesti in modo che possiamo iniziare a configurarli ed eseguire un programma di esempio anche con Spark.

In questa guida, installeremo Scintilla v2.3.0 disponibile qui:

Pagina di download di Spark

Scarica i file corrispondenti con questo comando:

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

A seconda della velocità della rete, l'operazione può richiedere alcuni minuti poiché il file è di grandi dimensioni:

Download di Apache Spark

Ora che abbiamo scaricato il file TAR, possiamo estrarlo nella directory corrente:

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

Questo richiederà alcuni secondi per il completamento a causa delle grandi dimensioni del file dell'archivio:

File non archiviati in Spark

Quando si tratta di aggiornare Apache Spark in futuro, può creare problemi a causa degli aggiornamenti del percorso. Questi problemi possono essere evitati creando un softlink a Spark. Esegui questo comando per creare un collegamento software:

ln -s scintilla-2.3.0-bin-hadoop2.7 scintille

Aggiunta di Spark al percorso

Per eseguire gli script Spark, lo aggiungeremo al percorso ora. Per fare ciò, apri il file bashrc:

vi ~/.bashrc

Aggiungi queste righe alla fine del .bashrc in modo che il percorso possa contenere il percorso del file eseguibile Spark:

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

Ora, il file si presenta come:

Aggiungere Spark a PATH

Per attivare queste modifiche, esegui il seguente comando per il file bashrc:

fonte ~/.bashrc

Avvio di Spark Shell

Ora, quando siamo appena fuori dalla directory spark, esegui il seguente comando per aprire apark shell:

./spark/bin/spark-shell

Vedremo che la shell Spark è aperta ora:

Avvio di Spark shell

Possiamo vedere nella console che Spark ha aperto anche una Web Console sulla porta 404. Facciamo una visita:

Console Web Apache Spark

Anche se opereremo sulla console stessa, l'ambiente web è un posto importante da considerare quando esegui lavori Spark pesanti in modo da sapere cosa sta succedendo in ogni lavoro Spark che esegui.

Controlla la versione della shell Spark con un semplice comando:

sc.versione

Restituiremo qualcosa come:

res0: Stringa = 2.3.0

Creare un'applicazione Spark di esempio con Scala

Ora creeremo un esempio di applicazione Word Counter con Apache Spark. Per fare ciò, carica prima un file di testo in Spark Context sulla shell Spark:

scala> var Data = sc.textFile("/root/LinuxHint/spark/README.md")
Dati: organizzazione.apache.scintilla.rdd.RDD[Stringa] = /root/LinuxHint/spark/README.md MapPartitionsRDD[1] at textFile at :24
scala>

Ora, il testo presente nel file deve essere suddiviso in token che Spark può gestire:

scala> var token = Dati.flatMap(s => s.Diviso(" "))
token: org.apache.scintilla.rdd.RDD[String] = MapPartitionsRDD[2] at flatMap at :25
scala>

Ora, inizializza il conteggio per ogni parola su 1:

scala> var token_1 = token.mappa(e => (s,1))
tokens_1: org.apache.scintilla.rdd.RDD[(String, Int)] = MapPartitionsRDD[3] sulla mappa a :25
scala>

Infine, calcola la frequenza di ogni parola del file:

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

È ora di guardare l'output del programma. Raccogli i gettoni e i rispettivi conteggi:

scala> sum_ogni.raccogliere()
res1: Array[(String, Int)] = Array((package,1), (For,3), (Programs,1), (processing.,1), (Perché,1), (Il,1), (pagina](http://spark.apache.organizzazione/documentazione.html).,1), (cluster.,1), (its,1), ([run,1), (than,1), (APIs,1), (have,1), (try,1), (computation,1), (through,1 ), (diversi,1), (Questo,2), (grafico,1), (Alveare,2), (stoccaggio,1), (["Specificando,1), (To,2), ("filato" ,1), (Once,1), (["Utile,1), (prefer,1), (SparkPi,2), (engine,1), (version,1), (file,1), (documentation ,,1), (elaborazione,,1), (il,24), (sono,1), (sistemi.,1), (params,1), (not,1), (different,1), (refer,2), (Interactive,2), (R,,1), (dato.,1), (if,4), (build,4), (quando,1), (be,2), (Tests,1), (Apache,1), (thread,1), (programs,,1 ), (compreso, 4), (./bin/run-example,2), (Spark.,1), (pacchetto.,1), (1000).count(),1), (Versioni,1), (HDFS,1), (D…
scala>

Eccellente! Siamo stati in grado di eseguire un semplice esempio di Word Counter utilizzando il linguaggio di programmazione Scala con un file di testo già presente nel sistema.

Conclusione

In questa lezione, abbiamo esaminato come possiamo installare e iniziare a utilizzare Apache Spark su Ubuntu 17.10 macchina ed eseguire anche un'applicazione di esempio su di essa.

Leggi altri post basati su Ubuntu qui.

Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...
Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...