Ceci est une ancienne révision du document !
Cette page contient des instructions pour vous permettre d'utiliser Spark et HDFS dans les salles TME de la PPTI.
Les API de Spark pour le langage scala décrivent les méthodes de manipulation des données
Vérifier si Spark (version 2) est installé sur votre machine, en salle de TME, en tapant
source /Infos/bd/spark-config which spark-shell
cela doit afficher /usr/local/spark-2.3.2-bin-hadoop2.7/bin/spark-shell
Si c'est le cas ajouter à la fin de votre fichier .bashrc
la ligne suivante :
source /Infos/bd/spark-config
Puis lancer le client Spark :
spark-shell --driver-memory 8G
puis saisir
sc.setLogLevel("ERROR")
Pour quitter Spark, taper :q (ne pas saisir Crtl-C)
:q
A faire seulement si spark n'est pas installé sur votre machine de TME : télécharger la dernière version de Spark depuis http://spark.apache.org/downloads.html. Décompresser l'archive obtenue et ajouter dans votre fichier .bashrc les lignes :
export SPARK_HOME=<le-chemin-vers-votre-dosier-spark> export PATH=$SPARK_HOME/bin:$PATH
puis appliquer les lignes ajoutées en exécutant
source ~/.bashrc
Pour utiliser Spark en mode local, il suffit d'exécuter la commande
spark-shell --driver-memory 10G
Une fois que vous avez l'invite Scala, exécuter
sc.setLogLevel("ERROR")
pour restreindre l'affichage des logs aux erreurs seulement.
Pour ceux qui le désirent, il est possible d'utiliser un environnement graphique vous facilitant la saisie des instructions Scala. Pour ce faire, suivre les instructions ci-dessous.
unzip /Infos/bd/spark/spark-notebook-master-scala-2.11.8-spark-2.2.0-hadoop-2.7.2.zip
Démarrer le notebook:
cd spark-notebook-0.9.0-SNAPSHOT-scala-2.11.8-spark-2.2.0-hadoop-2.7.2 bin/spark-notebook
puis lancer dans votre navigateur : http://localhost:9000
Insérer le contenu du fichier /Infos/bd/spark/spark-emacs.el dans votre propre fichier de configuration emacs :
mkdir ~/.emacs.d # si le répertoire n'existe pas cat /Infos/bd/spark/spark-emacs.el >> $HOME/.emacs.d/init.el cat /Infos/bd/spark/spark-emacs.el >> $HOME/.emacs
Dans emacs, ouvrer le fichier de TME dans lequel vous éditer votre exercice spark en scala. Puis lancer un shell avec Alt-x shell Pour diviser votre editeur en 2 zones (2 buffers), faire Ctrl-x 3. Dans le buffer shell taper
source /Infos/bd/spark-config spark-shell --driver-memory 10G
Revenir dans le buffer contenant l'exercice du TME, positionner le curseur sur la ligne que vous souhaitez traiter, et taper Ctrl-j pour “soumettre” la ligne vers le spark-shell. Si une région (zone surlignée) a déjà été sélectionnée, Ctrl-j envoie toutes les lignes de la région.
Problème de Tabulation Le spark-shell n'interprète pas correctement les lignes qui commencent par un caractère de tabulation (touche Tab). Ne pas mettre de tabulation en début de ligne mais utiliser plusieurs caractères espaces.
Pour exécuter un code source en bloc, tapez
:paste
puis coller votre code source.
Pour charger les instructions à partir d'un fichier
:load chemin_vers_fichier
Retour vers les TMEs