Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
site:enseignement:master:bdle:tmes:tmejointure [30/11/2018 15:55] hubert [Exercice 3 : Equi-jointure par broadcast join] |
site:enseignement:master:bdle:tmes:tmejointure [14/12/2018 16:18] (Version actuelle) hubert [Exercice 6 : Chemin le plus long] |
||
---|---|---|---|
Ligne 697: | Ligne 697: | ||
===== Exercice 4 : Produit Cartésien ===== | ===== Exercice 4 : Produit Cartésien ===== | ||
- | Voir diapo 33: Calculer la similarité entre 2 utilisateurs de MovieLens (ou 2 personnes de Yago) | + | Voir diapo du cours : Calculer la similarité entre 2 utilisateurs de MovieLens ou 2 individus de Yago |
* Définir une fonction qui calcule la similarité de Jaccard entre 2 listes d'objets : jaccard(x, y) = cardinal de l'intersection / cardinal de l'union | * Définir une fonction qui calcule la similarité de Jaccard entre 2 listes d'objets : jaccard(x, y) = cardinal de l'intersection / cardinal de l'union | ||
Ligne 717: | Ligne 717: | ||
- | ===== Exercice 5 : Questions diverses ===== | + | ===== Exercice 5 : Traitement itératif par partition et par groupe d'objets ===== |
- | La methode zipWithIndex (numérotant les éléments d'une collection) existe pour un RDD mais pas pour un DataSet. | + | La methode zipWithIndex (numérotant les éléments d'une collection) existe pour un RDD mais pas pour un Dataset. |
Ecrire la fonction ''numeroration[T](d: Dataset[T])'' qui retourne un Dataset avec des éléments numérotés. Les numéros doivent être consécutifs. | Ecrire la fonction ''numeroration[T](d: Dataset[T])'' qui retourne un Dataset avec des éléments numérotés. Les numéros doivent être consécutifs. | ||
+ | Rmq: une solution consiste à utiliser mapPartitionsWithIndex pour connaitre la taille des partitions et parcourir une partition pour affecter les numéros consécutifs à chaque élément. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Exercice 6 : Chemin le plus long ===== | ||
+ | Pour les données de yago utilisées précédemment, déterminer les chemins partant des sujets qui vivent (<livesIn>) en 'France'. | ||
+ | Un chemin doit être sans circuit (ou sans cycle : ne jamais repasser sur le même sujet). | ||
+ | Combien y a -t-il de chemin de longueur 2, 3 ,4 ? | ||
+ | Quelle est la longueur maximale ? | ||
+ | Montrer que votre solution est efficace. Expliquer ce que vous avez mis en oeuvre pour apporter plus d'efficacité. | ||