site:enseignement:master:bdle:annales
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
site:enseignement:master:bdle:annales [21/11/2018 22:05] – amine | site:enseignement:master:bdle:annales [20/11/2019 07:57] (Version actuelle) – amine | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Recueil d' | ====== Recueil d' | ||
===== Partie MR et Spark ===== | ===== Partie MR et Spark ===== | ||
+ | ==== Novembre 2019 ==== | ||
+ | {{ : | ||
+ | ==== Septembre 2018 ==== | ||
+ | {{ : | ||
==== Novembre 2017 ==== | ==== Novembre 2017 ==== | ||
+ | === Exercice 1 === | ||
+ | == Données == | ||
+ | <code bash> | ||
+ | nom: | ||
+ | nom: | ||
+ | nom: | ||
+ | nom: | ||
+ | </ | ||
+ | == Programme scala == | ||
+ | <code scala> | ||
+ | val data = sc.textFile(path+" | ||
+ | |||
+ | case class attribut(cle: | ||
+ | |||
+ | def parseElem(in: | ||
+ | val tmp = in.split(":" | ||
+ | | ||
+ | } | ||
+ | |||
+ | parseTuple(in: | ||
+ | |||
+ | val parsed = data.map(x=> | ||
+ | |||
+ | parsed.collect.foreach(println) | ||
+ | |||
+ | case class attribut(cle: | ||
+ | |||
+ | def parseElem(in: | ||
+ | val tmp = in.split(":" | ||
+ | | ||
+ | } | ||
+ | |||
+ | def parseTuple(in: | ||
+ | |||
+ | |||
+ | |||
+ | val parsed = data.map(x=> | ||
+ | |||
+ | /*non posée*/ | ||
+ | def mergeListAttributes(lat1: | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | |||
+ | val synthese = parsed.reduce(mergeListAttributes) | ||
+ | |||
+ | |||
+ | scala> parsed.collect.foreach(println) | ||
+ | List(attribut(age, | ||
+ | List(attribut(niveau, | ||
+ | List(attribut(age, | ||
+ | List(attribut(nom, | ||
+ | |||
+ | |||
+ | </ | ||
=== Exercice 2 : Algèbre Dataset de Spark === | === Exercice 2 : Algèbre Dataset de Spark === | ||
== Données == | == Données == | ||
Ligne 24: | Ligne 83: | ||
map(tab => Triple(tab(0), | map(tab => Triple(tab(0), | ||
- | //Retourner le nombre de circuits (cycles) de longueur 3, ie les motifs de la forme x → y → z → x | + | /*Retourner le nombre de circuits (cycles) de longueur 3, ie les motifs de la forme x → y → z → x*/ |
val t1 = triples.withColumnRenamed(" | val t1 = triples.withColumnRenamed(" | ||
Ligne 35: | Ligne 94: | ||
- | //On étend l’ensemble de triplets avec des triplets de la forme n, isA, t indiquant que le noeud n a le type t. Pour simplifier, chaque n a un seul type t. | + | /*On étend l’ensemble de triplets avec des triplets de la forme n, isA, t indiquant que le noeud n a le type t. Pour simplifier, chaque n a un seul type t.*/ |
- | //Retourner les arcs p communs à au moins deux triplets n, p, n′ et m, p, m′ tels que n et m ont le même type tandis que n′ et m′ ont deux types distincts. | + | /*Retourner les arcs p communs à au moins deux triplets n, p, n′ et m, p, m′ tels que n et m ont le même type tandis que n′ et m′ ont deux types distincts.*/ |
val t_types = triples.where(" | val t_types = triples.where(" |
site/enseignement/master/bdle/annales.1542834352.txt.gz · Dernière modification : de amine