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:algebrespark [25/10/2017 17:57] hubert [Exercice 1: Requêtes simples sur les données de Yago] |
site:enseignement:master:bdle:tmes:algebrespark [09/10/2018 14:12] (Version actuelle) amine |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | ====== [TME II-3] Algèbre Spark: Dataset ====== | + | ====== [TME II-2] Algèbre Spark: Dataset ====== |
Ce TME aborde le traitement de requêtes Sparql dans la plateforme Spark. | Ce TME aborde le traitement de requêtes Sparql dans la plateforme Spark. | ||
* Formulation des requêtes dans le langage Scala avec les API de Spark RDD et Dataset. | * Formulation des requêtes dans le langage Scala avec les API de Spark RDD et Dataset. | ||
Ligne 17: | Ligne 17: | ||
</code> | </code> | ||
+ | <showif isloggedin> | ||
+ | **TODO (oct 2017): page MPI pour sparql endpoint sur Yago** | ||
+ | </showif> | ||
Aller dans votre répertoire de travail et lancer le spark-shell avec l'option <fc #ff0000>--driver-memory 10G</fc> | Aller dans votre répertoire de travail et lancer le spark-shell avec l'option <fc #ff0000>--driver-memory 10G</fc> | ||
Ligne 37: | Ligne 40: | ||
Exemple, soient les trois triplets suivants : | Exemple, soient les trois triplets suivants : | ||
(james joue guitare) (marie joue piano) (james ami_de marie) (marie ami_de james) | (james joue guitare) (marie joue piano) (james ami_de marie) (marie ami_de james) | ||
- | le motif ( ?x joue piano) retourne la liaison ?x->james | + | le motif ( ?x joue piano) retourne la liaison ?x->marie |
le motif ( ?x joue ?y) retourne les liaisons ?x->james, ?y-> guitare d’une part et | le motif ( ?x joue ?y) retourne les liaisons ?x->james, ?y-> guitare d’une part et | ||
?x->maire, ?y->piano d’autre part. | ?x->maire, ?y->piano d’autre part. | ||
Ligne 50: | Ligne 53: | ||
===== Exercice 1: Requêtes simples sur les données de Yago ===== | ===== Exercice 1: Requêtes simples sur les données de Yago ===== | ||
+ | |||
+ | Lire un exemple de données | ||
+ | <code> | ||
+ | more /Infos/bd/spark/dataset/yago/yagoMiniSample.txt | ||
+ | </code> | ||
+ | Lire la liste des propriétés | ||
+ | <code> | ||
+ | more /Infos/bd/spark/dataset/yago/yagoFacts5M_properties.txt | ||
+ | </code> | ||
===Charger le dataset YAGO=== | ===Charger le dataset YAGO=== | ||
Ligne 191: | Ligne 203: | ||
</showif> | </showif> | ||
- | Le résultat doit être: | + | Les 5 premiers éléments du résultat sont : |
<code> | <code> | ||
| y | x | | | y | x | | ||
Ligne 250: | Ligne 262: | ||
</showif> | </showif> | ||
- | Le résultat doit être: | + | Le résultat, limité à 10 lignes, doit être: |
<code> | <code> | ||
+--------------+----------+---------+-----------------+--------------------+----------------+ | +--------------+----------+---------+-----------------+--------------------+----------------+ | ||
Ligne 273: | Ligne 285: | ||
===R6: Les paires de personnes mariées et nées dans le même pays === | ===R6: Les paires de personnes mariées et nées dans le même pays === | ||
- | ===R7: L'acteur ayant joué dans le plus grand nombre de films === | + | ===R7: Les personnes influencées par un prix nobel=== |
- | + | ||
- | ===R8: Les personnes influencées par un prix nobel=== | + | |
+ | ===R8: L'acteur ayant joué dans le plus grand nombre de films === | ||
Ligne 285: | Ligne 296: | ||
- | ===== Exercice 2 : Requêtes sur Freebase===== | + | ===== Exercice subsidiaire : Requêtes sur Freebase===== |
L’objectif de cet exercice est d’exprimer en Scala les différents types de motifs complexes. | L’objectif de cet exercice est d’exprimer en Scala les différents types de motifs complexes. | ||
Ligne 347: | Ligne 358: | ||
</code> | </code> | ||
- | ===== Exercice 3===== | + | ===== Exercice subsidiaire===== |
a) A partir de Q4 proposer une requête formant un chemin de longueur 4 puis 5 (avec des propriétés différentes de celles de Q4). | a) A partir de Q4 proposer une requête formant un chemin de longueur 4 puis 5 (avec des propriétés différentes de celles de Q4). |