Apache Spark est un outil d'analyse de données qui peut être utilisé pour traiter les données de HDFS, S3 ou d'autres sources de données en mémoire. Dans cet article, nous allons installer Apache Spark sur un Ubuntu 17.10 machines.
Version Ubuntu
Pour ce guide, nous utiliserons Ubuntu version 17.10 (GNU/Linux 4.13.0-38-générique 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.
Mise à jour des packages existants
Pour démarrer l'installation de Spark, il est nécessaire que nous mettions à jour notre machine avec les derniers packages logiciels disponibles. Nous pouvons le faire avec :
sudo apt-get update && sudo apt-get -y dist-upgradeComme 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 install openjdk-8-jdk-headlessTéléchargement de fichiers Spark
Tous les packages nécessaires existent désormais 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 Étincelle v2.3.0 disponible ici:
Page de téléchargement de Spark
Téléchargez les fichiers correspondants avec cette commande :
wget http://www-us.apache.org/dist/spark/spark-2.3.0/étincelle-2.3.0-bin-hadoop2.7.tgzSelon la vitesse du réseau, cela peut prendre jusqu'à quelques minutes car le fichier est volumineux :
Téléchargement d'Apache Spark
Maintenant que nous avons téléchargé le fichier TAR, nous pouvons l'extraire dans le répertoire courant :
goudron xvzf spark-2.3.0-bin-hadoop2.7.tgzCela prendra quelques secondes en raison de la grande taille du fichier de l'archive :
Fichiers non archivés dans Spark
Lorsqu'il s'agit de mettre à niveau Apache Spark à l'avenir, cela peut créer des problèmes en raison des mises à jour de Path. 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 étincelle-2.3.0-bin-hadoop2.7 étincellesAjouter Spark au chemin
Pour exécuter des scripts Spark, nous allons l'ajouter au chemin maintenant. Pour ce faire, ouvrez le fichier bashrc :
vi ~/.bashrcAjoutez ces lignes à la fin du .bashrc afin que ce chemin puisse contenir le chemin du fichier exécutable Spark :
SPARK_HOME=/LinuxHint/sparkexport PATH=$SPARK_HOME/bin:$PATH
Maintenant, le fichier ressemble à :
Ajout de Spark à PATH
Pour activer ces modifications, exécutez la commande suivante pour le fichier bashrc :
source ~/.bashrcLancement de Spark Shell
Maintenant, lorsque nous sommes juste en dehors du répertoire spark, exécutez la commande suivante pour ouvrir le shell apark :
./spark/bin/spark-shellNous verrons que le shell Spark est maintenant openend :
Lancement du shell Spark
On peut voir dans la console que Spark a également ouvert une Web Console sur le port 404. Faisons-lui une visite :
Console Web Apache Spark
Bien que nous opérons sur la console elle-même, l'environnement Web est un endroit important à considérer lorsque vous exécutez des Jobs Spark lourds afin que vous sachiez ce qui se passe dans chaque Job Spark que vous exécutez.
Vérifiez la version du shell Spark avec une simple commande :
sc.versionNous allons récupérer quelque chose comme :
res0 : chaîne = 2.3.0Créer un exemple d'application Spark avec Scala
Maintenant, nous allons créer un exemple d'application Word Counter avec Apache Spark. Pour ce faire, chargez d'abord un fichier texte dans Spark Context sur le shell Spark :
scala> var Données = sc.textFile("/root/LinuxHint/spark/README.Maryland")Données : organisation.apache.étincelle.rdd.RDD[Chaîne] = /root/LinuxHint/spark/README.md MapPartitionsRDD[1] à textFile à :24
échelle>
Désormais, le texte présent dans le fichier doit être découpé en tokens que Spark peut gérer :
scala> var jetons = données.flatMap(s => s.diviser(" "))jetons : org.apache.étincelle.rdd.RDD[String] = MapPartitionsRDD[2] à flatMap à :25
échelle>
Maintenant, initialisez le compte pour chaque mot à 1 :
scala> var jetons_1 = jetons.carte(s => (s,1))jetons_1 : org.apache.étincelle.rdd.RDD[(String, Int)] = MapPartitionsRDD[3] sur la carte à :25
échelle>
Enfin, calculez la fréquence de chaque mot du fichier :
var sum_each = jetons_1.réduireParClé((a, b) => a + b)Il est temps de regarder la sortie du programme. Récupérez les jetons et leurs décomptes respectifs :
scala> sum_each.collecter()res1: Array[(String, Int)] = Array((package,1), (For,3), (Programs,1), (traitement.,1), (Parce que,1), (Le,1), (page](http://spark.apache.organisation/documentation.html).,1), (groupe.,1), (its,1), ([run,1), (than,1), (APIs,1), (have,1), (Try,1), (calcul,1), (through,1 ), (plusieurs,1), (This,2), (graph,1), (Hive,2), (stockage,1), (["Spécifier,1), (À,2), ("fil" ,1), (Une fois,1), (["Utile,1), (préférer,1), (SparkPi,2), (moteur,1), (version,1), (fichier,1), (documentation ,,1), (traitement,,1), (les,24), (sont,1), (systèmes.,1), (params,1), (not,1), (different,1), (refer,2), (Interactive,2), (R,,1), (donné.,1), (if,4), (build,4), (quand,1), (be,2), (Tests,1), (Apache,1), (thread,1), (programs,,1 ), (y compris, 4), (./bin/run-example,2), (Spark.,1), (paquet.,1), (1000).count(),1), (Versions,1), (HDFS,1), (D…
échelle>
Excellent! Nous avons pu exécuter un exemple simple de compteur de mots 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 vu comment installer et commencer à utiliser Apache Spark sur Ubuntu 17.10 et exécutez également un exemple d'application dessus.
Lisez plus de messages basés sur Ubuntu ici.