Académique Documents
Professionnel Documents
Culture Documents
28
28
29
29
Enseignante : R. CHEBIL 1
Cours Big Data – Chapitre III Niveau : 3ème année
DataFrames
2011 RDD :
◦ Collection distribuée
◦ Opérateurs fonctionnels
◦ Ne suis aucun schéma
30
30
Dataset
2015 Spark 2 : Dataset
◦ Nouvelle abstraction de données plus large que le
DataFrame
◦ Typé : Dataset [ T ]
◦ Avantage : travailler avec des expressions typées dont on
connait toutes les propriétés
31
31
Enseignante : R. CHEBIL 2
Cours Big Data – Chapitre III Niveau : 3ème année
Exemples
Construction d’un dataframe Spark appelé « restaurants_df » à
partir de la table restaurant existante dans Cassandra. Le
schéma (noms des colonnes) est connu mais le type des
colonnes n’est pas connu au sein du dataframe.
Collection d’objets de type row
val restaurants_df =
spark.read.cassandraFormat("restaurant",
"resto_ny").load()
restaurants_df.printSchema()
restaurants_df.show()
32
32
Exemples
Réalisation d’un filtre correspondant au where dans
SQL :
manhattan.show()
33
Enseignante : R. CHEBIL 3
Cours Big Data – Chapitre III Niveau : 3ème année
Exemples
Construction d’un Dataset dont les colonnes sont typées :
nous pouvons donc exprimer des opérations plus précises
qu’avec les dataframes.
case class Restaurant(id: Integer, Name: String,
borough: String, BuildingNum: String, Street:
String, ZipCode: Integer, Phone: String,
CuisineType: String) Collection d’objets de type
Restaurant
val restaurants_ds= restaurants_df.as[Restaurant]
34
34
Exemples
Réalisation du même filtre sur le dataset :
35
35
Enseignante : R. CHEBIL 4
Cours Big Data – Chapitre III Niveau : 3ème année
Exemples
Plusieurs opérations auraient bien pu s’exprimer en CQL
(Cassandra).
36
36
Conclusion
MapReduce est « le langage assembleur » du calcul distribué
37
Enseignante : R. CHEBIL 5
Cours Big Data – Chapitre III Niveau : 3ème année
Conclusion
RDD : données au schéma très flexible, mais beaucoup plus difficile
à manipuler.
DataFrame/ Dataset :
◦ Données au schéma très contraint offrant un niveau de sécurité
élevé.
◦ Concepteur : possibilité de référencer des champs et de leur
appliquer des opérations standards en fonction de leur type sans
avoir à écrire une fonction spécifique pour la moindre opération
=> Rend le code beaucoup plus lisible et concis.
◦ Système : la connaissance du schéma facilite les contrôles avant
exécution
38
38
Enseignante : R. CHEBIL 6