Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:bdle:tmes:spark

Ceci est une ancienne révision du document !


Utilisation de Spark

Cette page contient des instructions pour vous permettre d'utiliser Spark et HDFS dans les salles TME de la PPTI.

API de Spark

Les API de Spark pour le langage scala décrivent les méthodes de manipulation des données

Installation de Spark (à réaliser une seule fois)

Vérifier si Spark (version 2.3) 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

Utilisation en mode local (plutôt conseillé)

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.

Utilisation d'un notebook (plutôt conseillé)

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

Utilisation intégrée dans emacs (moins conseillé)

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.

Quelques commandes utiles

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

site/enseignement/master/bdle/tmes/spark.1538475904.txt.gz · Dernière modification: 02/10/2018 12:25 par hubert