Installation d’Apache Spark sur Ubuntu 17.10

Apache Spark est un outil d’analyse de données qui peut être utilisé pour traiter des données provenant de HDFS, S3 ou d’autres sources de données en mémoire. Dans cet article, nous allons installer Apache Spark sur une machine Ubuntu 17.10.

 Version Ubuntu

Version Ubuntu

Pour ce guide, nous utiliserons la version Ubuntu 17.10 (GNU/Linux 4.13.0-38 – generic x86_64).

Apache Spark fait partie de l’écosystème Hadoop pour le Big Data. Essayez d’installer Apache Hadoop et créez un exemple d’application avec celui-ci.

Mise à jour des paquets existants

Pour démarrer l’installation de Spark, il est nécessaire que nous mettions à jour notre machine avec les derniers paquets logiciels disponibles. Nous pouvons le faire avec:

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

Comme Spark est basé sur Java, nous devons l’installer sur notre machine. Nous pouvons utiliser n’importe quelle version de Java au-dessus de Java 6. Ici, nous utiliserons Java 8:

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

Téléchargement des fichiers Spark

Tous les paquets nécessaires existent maintenant sur notre machine. Nous sommes prêts à télécharger les fichiers Spark TAR requis afin que nous puissions commencer à les configurer et exécuter également un exemple de programme avec Spark.

Dans ce guide, nous allons installer Spark v2.3.0 disponible ici:

 Page de téléchargement Spark

Page de téléchargement Spark

Téléchargez les fichiers correspondants avec cette commande:

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

Selon la vitesse du réseau, cela peut prendre jusqu’à quelques minutes car le fichier est de grande taille:

 Téléchargement d'Apache Spark

Téléchargement d’Apache Spark

Maintenant que nous avons le fichier TAR téléchargé, nous pouvons extraire dans le répertoire courant:

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

Cela prendra quelques secondes à terminer en raison de la grande taille du fichier de l’archive:

 Fichiers non archivés dans Spark

Fichiers non archivés dans Spark

Lorsqu’il s’agit de mettre à niveau Apache Spark à l’avenir, cela peut créer des problèmes dus aux mises à jour de chemin. Ces problèmes peuvent être évités en créant un lien logiciel vers Spark. Exécutez cette commande pour créer un lien logiciel:

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

Ajout de Spark au chemin

Pour exécuter des scripts Spark, nous allons maintenant l’ajouter au chemin. Pour ce faire, ouvrez le fichier bashrc:

vi~/.bashrc

Ajoutez ces lignes à la fin de la.fichier bashrc afin que le chemin puisse contenir le chemin du fichier exécutable Spark:

SPARK_HOME =/LinuxHint/spark
CHEMIN D’exportation =SPARKSPARK_HOME/bin:PATHPATH

Maintenant, le fichier ressemble à:

 Ajout de Spark au CHEMIN

Ajout de Spark au CHEMIN

Pour activer ces modifications, exécutez la commande suivante pour le fichier bashrc:

source ~/.bashrc

Lancement du shell Spark

Maintenant, lorsque nous sommes juste en dehors du répertoire spark, exécutez la commande suivante pour ouvrir le shell apark:

./spark/bin/spark-shell

Nous verrons que le shell Spark est ouvert maintenant:

 Lancement de Spark shell

Lancement de Spark shell

Nous pouvons voir dans la console que Spark a également ouvert une console Web sur le port 404. Donnons-lui une visite:

 Console Web Apache Spark

Console Web Apache Spark

Bien que nous opérerons sur la console elle-même, l’environnement Web est un endroit important à regarder lorsque vous exécutez des tâches Spark lourdes afin que vous sachiez ce qui se passe dans chaque tâche Spark que vous exécutez.

Vérifiez la version du shell Spark avec une commande simple:

sc.version

Nous reviendrons quelque chose comme:

res0: Chaîne = 2.3.0

Créer un exemple d’application Spark avec Scala

Maintenant, nous allons créer un exemple d’application de compteur de mots avec Apache Spark. Pour ce faire, chargez d’abord un fichier texte dans le contexte Spark sur Spark shell:

scala > var Data= sc.textFile(« /root/LinuxHint/spark/README.md »)
Données: org.Apache.étincelle.rdd.RDD =/root/LinuxHint/spark/README.md MapPartitionsRDD dans le fichier texte à :24
scala>

Maintenant, le texte présent dans le fichier doit être divisé en jetons que Spark peut gérer:

scala > jetons var = Données.Il est possible de créer une carte plate(s=> s.split(«  »))
jetons : org.Apache.étincelle.rdd.RDD = MapPartitionsRDD à flatMap à : 25
scala>

Maintenant, initialisez le nombre de chaque mot pour 1:

scala > var tokens_1 = jetons.carte (s= >(s,1))
tokens_1: org.Apache.étincelle.rdd.RDD = MapPartitionsRDD à la carte à: 25
scala>

Enfin, calculez la fréquence de chaque mot du fichier:

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

Il est temps de regarder la sortie du programme. Collectez les jetons et leurs comptes respectifs:

scala > sum_chaque.collect()
res1: Array = Array((paquet, 1),(Pour, 3), (Programmes, 1),(traitement., 1), (Parce que, 1), (Le, 1), (page] (http://spark.apache.org/documentation.html)., 1), (cluster., 1), (son, 1), ([exécuter, 1), (que, 1), (API, 1), (avoir, 1), (Essayer, 1), (calcul, 1), (à travers, 1), (plusieurs, 1), (Ce, 2), (graphique, 1), (Ruche, 2), (stockage, 1), ([« Spécifier, 1), (À, 2), (« yarn », 1), (Une fois, 1), ( [« Utile, 1), (préférer, 1) , (SparkPi, 2), (moteur, 1), (version, 1), (fichier, 1), (documentation,, 1), (traitement,, 1), (le, 24), (sont, 1), (systèmes., 1), (paramètres, 1), (non, 1), (différent, 1), (référez-vous, 2), (Interactif, 2), (R,, 1), (donné., 1), (si, 4), (construire, 4), (quand, 1), (être, 2), (Tests, 1), (Apache, 1), (thread, 1), (programmes,, 1), (y compris, 4), (./bin/run – exemple, 2), (Spark., 1), (paquet.,1), (1000).compte(), 1), (Versions, 1), (HDFS, 1), (D…
scala>

Excellent! Nous avons pu exécuter un exemple de compteur de mots simple en utilisant le langage de programmation Scala avec un fichier texte déjà présent dans le système.

Conclusion

Dans cette leçon, nous avons examiné comment installer et commencer à utiliser Apache Spark sur la machine Ubuntu 17.10 et exécuter également un exemple d’application dessus.

Lire plus de messages basés sur Ubuntu ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.