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:tme3-scala [11/10/2017 17:16] amine |
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 ====== | + | |
- | **Remarque générale :** Le cours ne peut être //self-contained// --> consulter la documentation en ligne de Spark. | + | |
+ | ====== [Pré-requis] Introduction à Scala ====== | ||
+ | **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 1 ===== | ===== Exercice 1 ===== | ||
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 | ||
Ligne 22: | Ligne 21: | ||
</code> | </code> | ||
- | <showif isloggedin> | ||
**Réponse** | **Réponse** | ||
<code scala> | <code scala> | ||
Ligne 29: | 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 43: | 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 50: | Ligne 46: | ||
moyEntiers(temp2009) | moyEntiers(temp2009) | ||
</code> | </code> | ||
- | </showif> | ||
Ligne 67: | Ligne 62: | ||
- | <showif isloggedin> | ||
**Réponse** | **Réponse** | ||
<code scala> | <code scala> | ||
Ligne 73: | 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 97: | Ligne 90: | ||
- | <showif isloggedin> | ||
**Réponse** | **Réponse** | ||
<code scala> | <code scala> | ||
Ligne 105: | 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 2 ===== |
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 143: | Ligne 134: | ||
- | <showif isloggedin> | ||
**Réponse** | **Réponse** | ||
<code scala> | <code scala> | ||
Ligne 194: | Ligne 184: | ||
q9avg._1/q9avg._2 | q9avg._1/q9avg._2 | ||
</code> | </code> | ||
- | </showif> | + |