Big Data: Marie NDIAYE

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

UFR Sciences et Technologies

Département Informatique
M2 Génie Logiciel
***

BIG DATA
2020-2021

Marie NDIAYE

1
MapReduce
HadoopMapReduce

2
MapReduce
• Jeffrey Dean and Sanjay Ghemawat, "Simplied Data Processing on
Large Clusters", Google, 2004
• "MapReduce est un modèle de programmation et une
implémentation associée pour le traitement et la génération de
grands ensembles de données".
 Permet de traiter de grosses volumes de données.
 Repose sur la distribution des calculs sur des centaines ou des milliers
d’ordinateurs pour finir dans un temps raisonnable.
 Constitue une abstraction sur la manière de paralléliser les calculs, de
distribuer les données, de traiter les pannes et de faire du load balancing
 l’utilisateur se concentre sur les calculs.

3
Les primitives Map et Reduce
• Présentes dans le LISP et dans d’autres langages fonctionnels.
• Le principe :
 L’utilisateur définit les fonctions Map et Reduce et le reste est géré par la
biliothèque MapReduce.
 La fonction Map
 Entrée : un couple (clé, valeur)
 Sorties : un ensemble de couples (clé, valeur) intermédiaires
 La bibliothèque MapReduce
 Regroupe les couples ayant la même clé créant ainsi des couples (clé, liste de valeurs)
 Passe les nouveaux couples à la fonction Reduce
 La fonction Reduce
 Entrée : un couple (clé, liste de valeurs)
 Fusionnes les valeurs pour obtenir un ensemble de valeurs éventuellement plus petit
 Sortie : une liste de valeurs

4
Exemple
• Algorithme :
Compter le nombre
d’occurrences de
chaque mot dans
un document.

5
Exemple : Exécution

Source : https://www.talend.com/fr/resources/what-is-mapreduce/ 6
Implémentation de MapReduce dans
Hadoop : Généralités
• Architecture maître-esclave.
• MapReduce s'intègre à HDFS pour offrir exactement les
mêmes avantages pour le traitement parallèle des données.
• Envoie des calculs où les données sont stockées sur des disques
locaux.
• Modèle ou framework de programmation pour le calcul
distribué.
• Il dissimule les tâches complexes de "gestion domestique" au
développeur que vous êtes.

7
Implémentation de MapReduce dans
Hadoop : Le frameworlk
• Le framework MapReduce se compose de :
 Un processus JobTracker maître par cluster qui est chargé de
planifier les tâches des composants des travaux sur les esclaves, de
les surveiller et de réexécuter les tâches qui ont échoué. Il reçoit
(du client) la ou les tâches MapReduce à exécuter(un .jar Java)
ainsi que les données d'entrée et le répertoire où stocker les
données de sortie. Il est pour cela en communication avec le
namenode d'HDFS.
 Un processus TaskTracker esclave par nœud de cluster qui
exécute les tâches demandées par le maître.

8
Implémentation de MapReduce dans
Hadoop : les fonctions
• Map
 Chaque tâche Map travaille généralement sur un seul bloc HDFS
(répartition des entrées).-
 Les tâches Map s'exécutent sur les nœuds esclaves du cluster où le bloc de
données HDFS est stocké (localité des données).
 L'entrée présentée à la tâche Map est une paire clé-valeur.

• Shuffle and Sort


 Trie et consolide les données de sortie intermédiaires de tous les mappeurs
terminés de la phase Map.

• Reduce
 Les données intermédiaires de la phase Shuffle and Sort constituent
l'entrée de la phase Reduce.
 La fonction Reduce génère la sortie finale.

9
Exemple : Comptage de mots

Source : https://www.thegeekdiary.com/understanding-the-hadoop-mapreduce-framework/ 10
Références
• https://www.thegeekdiary.com/understanding-the-hadoop-
mapreduce-framework/
• https://www.geeksforgeeks.org/mapreduce-architecture/
• https://www.talend.com/fr/resources/what-is-mapreduce/
• https://www.piloter.org/business-intelligence/map-reduce.htm
• https://www.lebigdata.fr/mapreduce-tout-savoir

11

Vous aimerez peut-être aussi