Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:bdle:tmes:tmejointure

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:22]
hubert [Classes et Fonctions auxiliaires]
site:enseignement:master:bdle:tmes:tmejointure [14/12/2018 16:18] (Version actuelle)
hubert [Exercice 6 : Chemin le plus long]
Ligne 113: Ligne 113:
  
  
-// Supprimer les données ​persistant en mémoire +// Supprimer les collections ​persistant en mémoire 
-  def cleanStorage() = {+  def clearStorage() = {
     spark.catalog.clearCache()     spark.catalog.clearCache()
   }   }
Ligne 645: Ligne 645:
  
  
-=== Equi-jointure lorsque les attribut ​n'ont pas le même domaine ​ ===+=== Equi-jointure lorsque les attributs ​n'ont pas le même domaine ​ ===
  
 Soit la requête R5 Soit la requête R5
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é.
  
  
site/enseignement/master/bdle/tmes/tmejointure.1543587771.txt.gz · Dernière modification: 30/11/2018 15:22 par hubert