Notes-TME

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

 

 

Retour