Académique Documents
Professionnel Documents
Culture Documents
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Framework de traitement
• Map-Reduce
• Pig
• Hive
• Impala
• Spark
• Flink
• etc
115
Map-Reduce
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce
117
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
118
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
119
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce
• Patron d’architecture de traitement
121
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce
• Ce modèle se base sur 2 étapes :
1. Mapping (map tasks) : le développeur définit une fonction de mappage dont le but
sera d'analyser les données brutes contenues dans les fichiers stockés sur HDFS pour
en sortir les données correctement formatées.
Résolution
• Pour résoudre un problème via la méthodologie MapReduce avec
Hadoop, on devra donc:
123
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
• On souhaite déterminer pour un travail de recherche quels sont
les mots les plus utilisés au sein d’un texte.
124
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
125
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
126
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
• Puisqu'on s'intéresse aux occurrences des mots dans le texte, et qu'à terme
on aura après l'opération REDUCE un résultat pour chacune des clefs
distinctes, la clef qui s'impose logiquement dans notre cas est: le mot-lui
même.
• Etape 3: Quand à notre opération MAP, elle sera elle aussi très simple: on
va simplement parcourir le fragment qui nous est fourni et, pour chacun
des mots, générer le couple clef/valeur: (MOT ; 1). La valeur indique ici
l’occurrence pour cette clef - puisqu'on a croisé le mot une fois, on donne la
valeur « 1 ».
127
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
128
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
• Une fois notre opération MAP effectuée (de
manière distribuée), Hadoop groupera (shuffle)
tous les couples par clef commune.
129
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
• Etape 4: Il nous reste à créer notre opération
REDUCE, qui sera appelée pour chacun des
groupes/clef distincte.
130
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Map-Reduce: Exemple1
131
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
132
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Programmation Hadoop
• Comme indiqué précédemment, Hadoop est développé en Java.
• Les tâches MAP/REDUCE sont donc implémentables par le biais d'interfaces Java. Un programme Hadoop se compile au sein
d'un .jar.
1. Une classe dite « Driver » qui contient la fonction main du programme. Cette classe se chargera d'informer Hadoop des
types de données clef/valeur utilisées, des classes se chargeant des opérations MAP et REDUCE, et des fichiers HDFS à
134
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Job Tracker
136
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
• Tasktracker : exécute une fonction map ou reduce, envoie des rapports d'avancement au ...
137
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Job
Tracker
Name Job
Node Tracker
Workers are Worker / Data
Co-located nodes
141
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
142
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Limites de MPR1
• Scalabilité limitée : Le JobTracker s’exécute sur une seule machine.
Ses rôles sont : Gestion des ressources, ordonnancement & suivi des Job
Nouveautés Hadoop 2
• YARN – Possibilité de traitement de Terabytes et Petabytes de données existants dans HDFS
en utilisant des applications Non-MapReduce
144
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Ordonnanceur de capacité
• MPR1 : L’ordonnanceur assure un nombre bien déterminé de slots pour chaque groupe
d’utilisateurs.
• MPR2 : L’ordonnanceur de capacité ( Capacity Scheduler) garantit un partage de slots par tous les
groupes d’utilisateurs
145
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
YARN
• Hadoop 2.0 fournit des APIs YARN pour
supporter d’autres frameworks qui pourront
interagir avec HDFS.
146
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
YARN
• YARN sépare la gestion des ressources/ordonnancement des job du traitement des données,
permettant à Hadoop de supporter d’autre applications de traitement de données.
147
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
V1 vs. V2
Hadoop v2
Hadoop v1 MapReduce Other
V2
MRV1
1) Processing
2) Resource Management
YARN
(Resource Management)
HDFS HDFS
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Hadoop to YARN
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
•Sous YARN:
•Plus de JobTracker unique
•Chaque travail MapReduce exécute une application
•L'échec d'un AppMaster provoque uniquement donc l'échec de ce travail.
Les autres emplois sont isolés et protégés.
150
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist
Synthèse:
MR n’est pas le bon choix pour les petites BD!
151
Architecture Hadoop Modes de stockage Modes de traitement Distributions du marché Technologies du data scientist