Université Sultan Moulay Slimane
Ecole National des Sciences Appliquées
Khouribga
- Calcul Distribué : Spark -
TP 1 : Spark Shell avec Scala
Objectifs du TP :
‒ Initiation à Spark via son shell Scala,
‒ Manipulation des RDDs (Transformation et Actions).
Partie I : Lancement de Spark shell en Scala & Création d’un RDD
Il est possible d’utiliser Spark :
‒ à travers une interface en ligne de commandes en:
Python (pyspark) : pratique aussi bien pour des tests interactifs
que pour l’étape de mise au point d’une nouvelle application,
Scala (spark-shell)
‒ via un programme Java.
On peut créer un RDD de deux manières différentes:
Méthode 1 : Paralléliser une collection
Si votre programme contient des données itérables (tableau, liste, …), elles
peuvent devenir un RDD (collection parallélisé).
var donnees = Array('Ahmed', 'Majida', 'Adam', 'Sara')
var monRDD = [Link](donnees)
Méthode 2 : Utiliser un jeux de données externes
var monRDD = [Link]("[Link]")
Pour plus d’information sur les RDDs, consulter la documentation officielle de
Spark.
TP Calcul Distribué 1 Pr. Nassima SOUSSI
Université Sultan Moulay Slimane
Ecole National des Sciences Appliquées
Khouribga
Partie II : Manipulation d’un RDD
1. Démarrer « Cloudera Manager » et lancer les services nécessaires assurant le
bon fonctionnement de Spark.
2. Lancer le shell de Spark en Scala.
3. Créer un RDD à partir d’un tableau (Array) déclaré précédemment contenant
les éléments suivant : « Bonjour les M2 de l’ENSAK », « Bienvenue au monde
de Spark », « Amusez-vous avec ce TP d’initiation » et « Bonne formation les
M2 ».
4. Compter le nombre d’éléments dans ce RDD, afficher son premier élément et
les deux premiers.
5. Afficher le contenu du RDD.
6. Construire un nouveau RDD contenant seulement les lignes de l’ancien RDD
ayant une longueur supérieure strictement à 22. Afficher le résultat obtenu.
7. Construire un RDD comprenant seulement les lignes du RDD initial qui
contiennent le mot clé « M2 ». Retourner un tableau avec ses deux premières
lignes.
8. Expliquez la différence entre map() et flatmap() après avoir les utiliser pour
créer des nouveaux RDD contenant l’ensemble des mots du RDD initiales.
9. Utiliser un jeu de données externe pour créer un nouveau rdd :
a. Créer un fichier « [Link] » contenant les données du rdd initial.
b. Copier le fichier dans le HDFS. Vérifier le succès de cette opération en
affichant son contenu.
c. Créer un rdd à partir de ce fichier et manipuler le via les opérations
utilisées précédemment.
d. Compter le nombre de mots dans ce RDD crée avec map reduce.
TP Calcul Distribué 2 Pr. Nassima SOUSSI