Académique Documents
Professionnel Documents
Culture Documents
TD1: Spark
On suppose qu’on dispose d’un fichier mesures .txt qui contient les informations suivantes:
7,2010,04,27,75
12,2009,01,31,78
41,2009,03,25,95
Chaque ligne correspond à des mesures de températures. Interpreter le code suivant
le code suivant
L'une des utilisations les plus courantes de Spark est l'analyse et le traitement des fichiers journaux
(log). Dans cet exercice on propose d’analyser des fichiers logs GHTorrent. GHTorrent fonctionne
en suivant la chronologie des événements Github, puis en récupérant tous les éléments liés à chaque
événement de manière récursive et exhaustive. Voici un extrait de ce à quoi ressemble le journal
GHTorrent:
Exercice 4:
3. Que permet de faire ce code? Existe-t-il une autre manière pour faire la même chose que fait ce
code?
4. Ecrire un code Spark qui permet de calculer, en premier lieu, le nombre de caractères de chaque
mot. Calculer également le nombre de caractères total (de tout le RDD).
Dans votre code, mettre en évidence les actions et les transformations.
5. Ecrire un code Spark qui devrait compter le nombre de fois ou il y’a le mot « are ».
Dans votre code, mettre en évidence les actions et les transformations.
Implémenter un programme Spark ReverseGraph qui doit inverser la direction des arêtes dans un
graphe orienté.
Une entrée possible est donnée sur la figure, où chaque élément de la séquence est une paire qui
attribue la liste des arêtes aux nœuds du graphique. Le résultat attendu est donné dans la figure 1b.
Pour chaque arête a->b dans l’entrée il y a un arête correspondant b-> a dans la sortie.
Exercice 5:
On considère un graphe de réseau social encodé dans un fichier texte.
• Une ligne du fichier est une liste d’identificateurs séparés par des virgules : A, B, C, D qui
signifie que A a pour amis B, C et D.
• L’ensemble des lignes du fichier décrivent les relations « a pour ami » du graphe. Ex :
A, B, C, D
B, A, D
Dr. Hrizi 3/4 2023/2024
Issat Gafsa Framework BD
C, A, D
D, A, B, C
• On supposera les relations symétriques : si on A, B alors on a B, A.
Dans un premier temps on va chercher à produire des paires clé-valeur représentant UN ami
commun à un couple d’individus.
Ex : ((A, D), B) signifiera que B est un ami commun à A et D. La clé est ici un couple.
1. Proposez une solution en Spark pour obtenir l’ensemble des paires clé-valeur (Couple, Ami) du
graphe à partir du fichier texte représentant le graphe.
2. Est-ce que votre solution génère des paires symétriques ?
Proposez maintenant une solution complète en Spark, pour obtenir la liste des amis communs des
couples d’individus (s’ils ont bien des amis communs) :
(A, B), [X1, X2, ... Xn] ….
1. Restez-vous bien en RDD jusqu’à la fin des traitements ?
2. Quels sont vos étapes Narrow et vos étapes Wide ?