Oracle
Se rendre sur cette page
Spark
Rajouter à votre fichier ~/.bashrc le ligne ci-dessous puis tapez source ~/.bashrc pour que ce changement prenne effet.
export PATH=$PATH:/usr/local/scala/scala-2.11.1/bin:/usr/local/spark-1.3.1-bin-hadoop2.6/bin
Conseil :
ouvrir sur un navigateur ce lien pour consulter les méthodes associées à la classe RDD.
Premiers TMEs Spark : mode local
Pour le premier TME dont le but est de se familariser avec le langage Scala sur Spark, il est conseillé
d’utiliser le Spark installé en local.
Copier le fichier de configuration sur votre espace local en tapant
cp /Infos/bd/spark/bdle/2015/config/prop-spark-local.conf .
Lancer le spark-shell en tapant
spark-shell --properties-file prop-spark-local.conf
Vous devriez avoir un prompt où vous pourrez saisir vos commandes en Scala et les exécuter.
Vous pouvez accéder à l’interface web de monitoring via
http://localhost:4040
Autres TMEs Spark : mode cluster
Pour utiliser le mode cluster, copier d’abord le fichier de confiuration prop-spark-cluster.conf en tapant
cp /Infos/bd/spark/bdle/2015/config/prop-spark-cluster.conf .
puis lancer le spark-shell en tapant
spark-shell --properties-file prop-spark-cluster.conf
Vous pouvez accéder à l’interface web de monitoring via
http://localhost:4040
Installer Spark en local
Il est normalement possible d’accéder aux machines des salles TME depuis l’exterieur pour réaliser vos TME.
Si toutefois vous préférer utiliser Spark sur votre propre PC/Mac, télécharger depuis http://spark.apache.org/downloads.html la version désirée de Spark en précisant la version de Hadoop associée (pour 2015, on utilisera la version 1.3.1 de Spark associée à la version 2.6 de Hadoop).
Désarchiver le fichier spark.<version>.tgz puis rajouter dans votre variable PATH le chemin vers le repertoire bin afin de pouvoir lancer spark-shell depuis votre ligne de commandes.
Vous pouvez paramétrer l’affichage des logs en allant dans conf/log4j.properties et modifiant la ligne log4j.rootCategory=INFO, console par log4j.rootCategory=ERROR, console.
Vous pouvez choisir le niveau de log qui vous convient.
Attention, utiliser spark-shell depuis votre propre PC/Mac ne garantit pas que vous puissiez accéder au cluster de la PPTI !
Utiliser le Cluster depuis l’exterieur
Pour ce faire, se connecter d’abord à une machine de l’ARI (voir doc en ligne).
Il est indiqué sur le site de l’ARI que « Les 20 pc en salle ppti-14-302 niveau 3 de la barre 14-15 sont accessibles via ssh de jour comme de nuit« .
Utilisation de HDFS
Un serveur HDFS tourne sur le cluster DAC et est accessible à partir de cette url :
hdfs://ppti-dac-1.ufr-info-p6.jussieu.fr:50100
Commencer par définir une variable d’environnement hdfspath qui va contenir cette url en rajoutant à votre ~/.bashrc la ligne suivante
export hdfspath=hdfs://ppti-dac-1.ufr-info-p6.jussieu.fr:50100
Examiner le contenu du système de fichier en tapant
hadoop fs -ls $hdfspath/
où / indique la racine.
Chaque binôme dispose d’un répertoire Etui, i=1..15 que sera attribué par l’enseignant.
Si vous disposer par exemple du compte Etu10, vous pouvez y charger des documents en tapant
hadoop fs -put <nom_fichier> $hdfspath/Etu10
Vous pouvez également créer des sous-répertoires en tapant
hadoop fs -mkdir $hdfspath/Etu10/<nom_sous_rep>
Pour plus d’informations, consulter DocHDFS.
Vous disposez d’une interface graphique
http://ppti-dac-1.ufr-info-p6.jussieu.fr:50070/dfshealth.html#tab-overview
FAQ:
- Comment convertir un type Scala en une RDD ?
Il est possible d’effectuer une telle conversion en invoquant la méthode parallelize()
de SparkContext sc
et en passant en argument la variable de type Scala à convertir.
Exemple
scala> val b=Array.apply("1","2","3")
b: Array[String] = Array(1, 2, 3)
scala> val rddb=sc.parallelize(b)
rddb: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[13] at parallelize at :14
- La difference entre var et val = variable et constante d’ou l’interet d’utiliser var.
- Attention, spark-shell incapable de détecter l’erreur d’affectation d’une constante