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:tme3-scala

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:tme3-scala [11/10/2017 11:55]
amine [Manipulation de RDDs Simples]
site:enseignement:master:bdle:tmes:tme3-scala [01/10/2018 12:39] (Version actuelle)
amine
Ligne 1: Ligne 1:
-{{indexmenu_n>​2}}+{{indexmenu_n>​20}}
  
-====== [TME II-1]  Introduction à Scala  ====== +====== [Pré-requis]  Introduction à Scala  ====== 
-**Remarque générale :** Le cours ne peut être //​self-contained//​ --> consulter la documentation en ligne de Spark. +**Remarque générale :** Le cours ne peut être //​self-contained//​ --> consulter la documentation en ligne de [[https://​spark.apache.org/​docs/​2.1.1/​api/​scala/​index.html#​package|Spark]]
- +===== Exercice ​=====
-===== Exercice ​=====+
 Cet exercice illustre les différentes structures de contrôle de Scala présentées en cours. Il permet de comprendre Cet exercice illustre les différentes structures de contrôle de Scala présentées en cours. Il permet de comprendre
 le paradigme fonctionnel : **seules les fonctions //map, reduce, flatten, filter, flatMap// sont autorisées**. le paradigme fonctionnel : **seules les fonctions //map, reduce, flatten, filter, flatMap// sont autorisées**.
 +
 +Lancer le spark-shell en mode local ([[spark|voir Doc]]).
 +Répondre aux questions ci-dessous.
  
 ==== Question 1 ==== ==== Question 1 ====
Ligne 19: Ligne 21:
 </​code>​ </​code>​
  
-<showif isloggedin>​ 
 **Réponse** **Réponse**
 <code scala> <code scala>
Ligne 26: Ligne 27:
 def moyEntiers(in:​ List[Int])={val p = in.map(e=>​(1,​e)).reduce((a,​b)=>​(a._1+b._1,​ a._2+b._2));​ p._2/p._1} def moyEntiers(in:​ List[Int])={val p = in.map(e=>​(1,​e)).reduce((a,​b)=>​(a._1+b._1,​ a._2+b._2));​ p._2/p._1}
 </​code>​ </​code>​
-</​showif>​ 
  
 ==== Question 2 ==== ==== Question 2 ====
Ligne 40: Ligne 40:
 Bien entendu, il faudra faire les transformations et les conversions de type nécessaires! Bien entendu, il faudra faire les transformations et les conversions de type nécessaires!
  
-<showif isloggedin>​ 
 **Réponse** **Réponse**
 <code scala> <code scala>
Ligne 47: Ligne 46:
 moyEntiers(temp2009) moyEntiers(temp2009)
 </​code>​ </​code>​
-</​showif>​ 
  
  
Ligne 64: Ligne 62:
  
  
-<showif isloggedin>​ 
 **Réponse** **Réponse**
 <code scala> <code scala>
Ligne 70: Ligne 67:
 val films = melange.map(_.split(","​)).filter(_(0).toInt<​=100).map(x=>​(x(0).toInt,​x(1),​ x(2))) val films = melange.map(_.split(","​)).filter(_(0).toInt<​=100).map(x=>​(x(0).toInt,​x(1),​ x(2)))
 </​code>​ </​code>​
-</​showif>​ 
  
 ==== Question 4 ==== ==== Question 4 ====
Ligne 94: Ligne 90:
  
  
-<showif isloggedin>​ 
 **Réponse** **Réponse**
 <code scala> <code scala>
Ligne 102: Ligne 97:
 val classes_personnes = personnes.map(x=>​ x match { case(a,"​ens",​b) =>new Ens(a,b); case(a, "​etu",​ b) =>new Etu(a,b); case _=>​None}).filter(_!=None) val classes_personnes = personnes.map(x=>​ x match { case(a,"​ens",​b) =>new Ens(a,b); case(a, "​etu",​ b) =>new Etu(a,b); case _=>​None}).filter(_!=None)
 </​code>​ </​code>​
-</​showif>​ 
  
  
-===== Exercice ​1 : Spark =====+===== Exercice ​=====
 Commencer par copier et décompresser dans votre espace de travail le fichier ​ Commencer par copier et décompresser dans votre espace de travail le fichier ​
  
Ligne 140: Ligne 134:
  
  
-<showif isloggedin>​ 
 **Réponse** **Réponse**
 <code scala> <code scala>
Ligne 191: Ligne 184:
 q9avg._1/​q9avg._2 q9avg._1/​q9avg._2
 </​code>​ </​code>​
-</​showif>​+
site/enseignement/master/bdle/tmes/tme3-scala.1507715726.txt.gz · Dernière modification: 11/10/2017 11:55 par amine