Académique Documents
Professionnel Documents
Culture Documents
Hadoop et MapReduce
Hadoop et MapReduce
➢ Ilest possible d’ajouter des machines à votre cluster, au fur et à mesure que les
données augmentent
Architecture Globale de Hadoop
Hadoop, HDFSet MapReduce 3
NN
HDFS
Big Data Données Utiles
DN
DN
Données Utiles
DN
DN
DN
DN
➢ Flume :
o Système distribué permettant de
collecter, regrouper et déplacer
effica cement un ensemble de
données (des logs) à partir de
plusieurs sources vers le HDFS
Ecosystème de Hadoop 7
➢ Hue :
o Front-end graphique pour le cluster
o Fournit
✓ Un navigateur pour HDFS et HBase
✓ Des éditeurs pour Hive, Pig, Impala et
Sqoop
➢ Oozie :
o Outil de gestion de Workflow
o Permet de gérer les jobs Hadoop
➢ Mahout :
o Bibliothèque d’apprentissage
automatique
o Permet de :
✓ Déterminer des éléments qu’un
utilisateur pourra apprécier selon son
comportement
✓ Grouper des documents
✓ Affecter automatiquement des catégories
aux documents
HDFS:Hadoop Distributed File System 8
➢ Ecrit en Java
Nœuds
➢ Permet de stocker de très gros volumes de
données sur un grand nombre de
machines (nœ uds) équipées de disques
durs banalisés ➔ Cluster Cluster
DataNode
➢ Chaque bloc est enregistré dans un nœ ud DN
DN
DN
différent du cluster
➢ DataNode :démon sur chaque nœ ud du DN DN
cluster
➢ NameNode : NameNode NN
64 Mo blk_
22 Mo 2
blk_3
HDFS:Hadoop Distributed File System 10
DN DN
DN
➢ Quels sont les problèmes possibles?
DN DN
✓
❑ Panne de réseau ?
✓ Panne
❑ de disque sur les NameNodes ?
64 Mo blk_1
64 Mo blk_
22 Mo 2
blk_3
HDFS:Hadoop Distributed File System 11
DN DN
DN
➢ Si l’un des nœ uds a un problème, les
données seront perdues
DN DN
o Hadoop réplique chaque bloc 3 fois
o Il choisit 3 nœuds au hasard, et place une
copie du bloc dans chacun d’eux
NN
o Si le nœ ud est en panne, le NN le détecte, et
s’occupe de répliquer encore les blocs qui y
étaient hébergés pour avoir toujours 3 copies
stockées
o Concept de Rack Awareness (rack =baie de
stockage) mydata.txt (150 Mo)
64 Mo blk_
22 Mo 2
blk_3
HDFS:Hadoop Distributed File System 12
DN DN
DN
➢ Si le NameNode a un problème :
DN DN
❑ Données inacc essibles?
✓ Données perdues à
❑ jamais
NN
✓ Pas de
❑ problème
jamais 64 Mo blk_
22 Mo 2
blk_3
HDFS:Hadoop Distributed File System 13
DN DN
DN
➢ Pour éviter cela, le NameNode sera
dupliqué, non seulement sur son propre DN DN
64 Mo blk_1
64 Mo blk_
22 Mo 2
blk_3
Map-Reduce 14
➢ Possibilité :
o Pour chaque entrée, sa isir la vil e et le
prix de vente
o Si on trouve une entrée avec une ville 2012-01-01 London Clothes 25.99
déjà saisie, on les regroupe en faisant 2012-01-01 Miami Music 12.15
la somme des ventes
2012-01-02 NYC Toys 3.10
➢ Dans un environnement de calcul 2012-01-02 Miami Clothes 50.00
traditionnel, on utilise généralement
des Hashtables, sous forme de:
Clef Valeur
➢ Dans notre cas, la clef serait l’adresse London 25.99 London 25.99
du magasin, et la valeur le total des Miami 12.15 Miami 62.15
ventes. NYC 3.10 NYC 3.10
Map-Reduce :Exemple 17
Mappers
➢ Map-Reduce :Moyen plus efficace et
rapide de traiter ces données
➢ Au lieu d’avoir une seule personne qui
parcourt le livre, si on en recrutait
plusieurs?
➢ Appeler un premier groupe les
Mappers et un autre les Reduce rs
➢ Diviser le livre en plusieurs parties, et en
donner une à chaque Mapper
o Les Mappers peuvent travailler en
même temps, chacun sur une partie
des données
Reducers
Map-Reduce :Exemple 19
Mappers
Mappers :
➢ Pour chaque entrée, saisir la ville, et le total
des venteset les enregistrerdans une fiche
➢ Rassembler les fiches du même magasin dans
une même pile
Reducers : N.Y.C. Miami N.Y.C. L. A. Miami N.Y.C
➢ Chaque Reducer sera responsable d’un
ensemble de magasins L. A.
Mappers
➢ Le Reducer reçoit des données
comme suit :
Miami 12.34
Miami 99.07
Miami 3.14
NYC 99.77
NYC 88.99 N.Y.C. Miami N.Y.C. L. A. Miami N.Y.C
➢ Pour chaque entrée, de quoi avons-
nous besoin pour ca lculer la totalité L. A.
des ventes pour chaque magasin?
❑ C oût précédent
✓ Coût en
❑ cours
N.Y.C
✓ Ventes totales par magasin
❑
✓ Magasin Miami L. A.
❑ précédent N.Y.C
✓ Magasin
❑ en cours Miami L. A.
N.Y.C
Reducers $603.768
$300,578 $432.900
Map-Reduce :Fonctionnement 21
➢ JobTracker
o Divise le travail sur les Mappers et
Reducers, s’exécutant sur les différents
TaskTracker
nœuds
➢ TaskTracker
o S’exécute sur chacun des nœ uds pour
exécuter les vraies tâches de Mape-
Reduce
➢ Exemple:Top 10
o Trouver parmi les différents posts des
forums, les 10 posts les plus longs
o Dans une Base de données
Relationnelle:
✓ Trier les données
✓ Extraire les 10 premières
➢ Dans un livre: pour chaque mot donné, indiquer les différentes pages où se trouve ce
mot
➢ Dans le web: on trouve des liens vers des pages web à partir d’un ensemble de mots
clefs
Patrons de Réca pitulation 30
Index
➢ Exemple :
Indexation des
mots dans les
posts d’un
forum
➢ Mapper ➔
Patrons de Réca pitulation 31
Index
➢ Exemple :
Indexation des
mots dans les
posts d’un
forum
➢ Reducer ➔
Patrons de Réca pitulation 32
Réca pitulations Numériques
➢ Peuvent être:
o Le nombre de mots, enregistrements…
✓ Souvent: la clef =l’objet à compter, et la valeur =1 (nombre d’occurrences)
o Min-Max / Premier-Dernier
o La moyenne
o La médiane
o Éca rt type
o …
➢ Exemple de question:
o Y’a-t-il une relation entre le jour de la semaine et la somme dépensée par les clients?
o Mapper :clef =jour_de_la_semaine; valeur =somme_dépensée
o Reducer : ca lcul
Patrons de Réca pitulation 33
Mélangeur
➢ Possibilité d’utiliser un mélangeur (Combiner) entre les mappers et les reducers
➢ Permettent de réaliser la réduction en local dans chacun des DataNodes Mappers
AVANTde faire appel au nœ ud réducteur principal.
➢ Exemple: pour calculer la moyenne des ventes par jour de la semaine:
o Sans C ombiner
✓ Les Mappers parcourent les données, et affichent le couple (Jour_de_la_semaine, montant)
✓ Pour chaque jour,le Reducer conserve une somme et un compteur
✓ Il divise à la fin la somme par le compteur
o Avec Combiner
✓ Chaque nœud réalise une première réduction où les moyennes locales sont calculées
✓ Le Reducer final regroupe ces moyennes et synthétise la moyenne finale
✓ Nombre d’enregistrements envoyés au réducteur significativement réduit
✓ Tempsnécessaire pour la réduction diminue
Patrons Structurels 34
➢ Cours
o Big Data Analytics – Lesson 1:What is Big Data, IBM, Big Data University
o Intro to Hadoop and MapReduce, Coursera, Udacity