SlideShare une entreprise Scribd logo
Comment traiter rapidement de
grands volumes de données avec
MapReduce ?
Patrick Mveng
CEO & Founder , m-MuZiik
Microsoft BizSpark member
@adelphepatrick
GDG DevFest 2014 , Douala
1
Introduction
Nous sommes à l'ère du #multicœur. Les ordinateurs et les
smartphones ont de plus en plus de puissance. Face à la
montée croissance du #BigData, les développeurs ont
besoin de modèle de programmation qui rendra leurs
applications plus #rapides et satisfaire la #clientèle. Au
travers de cette présentation nous allons montrer comment
traiter rapidement un grand volume de données et donner
quelques cas d'utilisation pour moteur de recherche,
apprentissage automatique, domotique.
2
Problématique
• Comment traiter rapidement ces grands volumes de
données
• Car l’utilisateur ne va pas attendre plus de 5 secondes
pour avoir la réponse à une requête
• Comment rassembler toutes les données nécessaires
pour un traitement ?
• Comment organiser le traitement de façon que toutes les
données nécessaires soient dans la mémoire en même
temps?
• Avec un Pentium Core i2,i3,i4,i5 ou de vieux PC ,
comment traiter rapidement un grand volume de
données?
3
Solution
• Paralléliser les traitements sur les données
• Distribuer les traitements sur les données
• Dans ce cas, comment coordonnées ces traitements ?
• Comment faire si un traitement échoue ?
• Si je perd une donnée ? Les autres traitements doivent-ils
recommencer ?
• Comment coordonnées cette panne ?
4
Voici notre héros :
MapReduce
5
C’est quoi MapReduce ?
MapReduce est un patron d'architecture de développement informatique,
inventé par Google, dans lequel sont effectués des calculs parallèles, et
souvent distribués, de données potentiellement très volumineuses,
typiquement supérieures en taille à 1 téraoctet.
MapReduce est une méthode d’exécution de programme parallèle consistant à
envoyer sur chaque donnée une fonction à exécuter (map) puis à récupérer les
résultats pour les intégrer dans un résultat final (reduce).
Les termes « map » et « reduce », et les concepts sous-jacents, sont
empruntés aux langages de programmation fonctionnelle comme Lisp, Dans le
langage Lisp, la fonction map prend en entrée une fonction et une séquence de
données. Elle exécute la fonction sur chaque donnée. Puis la fonction reduce
collecte les résultats de chaque fonction.
6
Fonctionnalités
• Parallélisation automatique : pas besoin d’expérience en
programmation parallèle
• Planification automatique des tâches et équilibrage des
charges sur les noeuds
• Tolérance aux fautes et redémarrage des nœuds ayant
rencontré une erreur ou affectation de la tâche à un autre
nœud.
• Un noeud peut être un thread, un processus, un
ordinateur physique
• Indépendance du système de stockage de données
• Facile à programmer, basé sur deux simples fonctions
• Map()
• Reduce()
7
MapReduce en image
8
Comment fonctionne MapReduce ?
• 1) Découpage automatiquement des données en entrée en M
bloc de données de même taille.
• 2) Le système créé M tâches Map. Chaque tâche Map lit un
bloc de données en parallèle et génère une paire résultat
temporaire <clé, valeur> dans le système de stockage local.
• 3) Le système attend que toutes les tâches Map parallèles se
terminent, puis les trie et découpe les paires résultats <clé,
valeur> en R regions.
• 4) Le système démarre les tâches Reduce en parallèle sur
chaque region R, Chaque region traite les paires ayant la
même clé.
• 5) Le système publie les résultats de chaque tâche Reduce
9
Exemple : Un compteur de mots
Supposons que nous avons les données suivantes:
• cat flower picture
• snow cat cat
• prince flower sun
• king queen AC
10
Exemple : Un compteur de mots
• Etape 1: Découpage des données en M(4) blocs.
11
Exemple : Un compteur de mots
• Etape 2: Création de 4 tâches Map en parallèle
12
Exemple : Un compteur de mots
• Etape 3: Chaque tâche Map fait le décompte par mot, et
génère de nouvelles paires que le système trie par clé en 9
regions.
13
Exemple : Un compteur de mots
• Etape 4: Le système lance 9 tâches parallèles Reduce.
Chaque tâche consolide le décompte par mot
14
Exemple : Un compteur de mots
• Etape 5: Le système publie les 9 résultats dans un fichier
résultat
15
Implémentation de MapReduce
• Hadoop in Java.
• Mars in C++ & CUDA.
• Skynet in Ruby.
• Phoenix in C++
• MyMapReduce in C#
16
Qui utilise MapReduce ?
m-MuZiik
17
Cas d’utilisation avec MapReduce
• Reconnaissance de visages sur des millions d’images en
direct ou en différé
• Recherche d’information dans un moteur de recherche (
Google Search, Bing )
• A la maison, traitement en temps réel de données issues
de plusieurs capteurs ( infrarouge, vidéo, etc,)
• Simulation de neurones en Intelligence Artificielle
18
Présentation de MyMapReduce
• Un Framework MapReduce developpé avec C# .Net de
Microsoft
19
Merci
Jeux de Questions / Réponses
20
Comment traiter rapidement de grands volumes de données avec MapReduce ?
Patrick Mveng
CEO & Founder , m-MuZiik
Microsoft BizSpark member
@adelphepatrick

Contenu connexe

PPTX
03 big data échelle
PPTX
Présentation Map reduce altnetfr
PDF
BigData_TP2: Design Patterns dans Hadoop
PDF
OWF12/BIG DATA OWF OpenSearchServer light
PDF
BBL - Monitoring - kyriba
PDF
Big Data : Une Introduction
PPTX
MapReduce: Traitement de données distribué à grande échelle simplifié
PDF
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
03 big data échelle
Présentation Map reduce altnetfr
BigData_TP2: Design Patterns dans Hadoop
OWF12/BIG DATA OWF OpenSearchServer light
BBL - Monitoring - kyriba
Big Data : Une Introduction
MapReduce: Traitement de données distribué à grande échelle simplifié
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf

Similaire à Presentation Map Reduce (20)

PPTX
Chapitre2_Hadoop_MapReduce----------------.pptx
PDF
Mapreduce
PPTX
10 big data hadoop
PPTX
10 big data hadoop
PDF
BigData_Chp2: Hadoop & Map-Reduce
PDF
Une introduction à MapReduce
PDF
chp
PPTX
La classification des Emails utilisant le modèle MapReduce
PPTX
Introduction aux algorithmes map reduce
PPTX
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
PPTX
Spad big data - sfds - 2016
PDF
Techday Arrow Group: Hadoop & le Big Data
PDF
Tech day hadoop, Spark
PPTX
MapReduce au Niveau RP*
PPTX
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
PDF
Introduction NoSql 201406 - lbroudoux
PDF
Big_Data_Cours.pdf
PPTX
PerfUG - Hadoop Performances
PDF
Introduction NoSQL 201401 - Ensim
PPTX
Présentation_HADOOP.pptx
Chapitre2_Hadoop_MapReduce----------------.pptx
Mapreduce
10 big data hadoop
10 big data hadoop
BigData_Chp2: Hadoop & Map-Reduce
Une introduction à MapReduce
chp
La classification des Emails utilisant le modèle MapReduce
Introduction aux algorithmes map reduce
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Spad big data - sfds - 2016
Techday Arrow Group: Hadoop & le Big Data
Tech day hadoop, Spark
MapReduce au Niveau RP*
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Introduction NoSql 201406 - lbroudoux
Big_Data_Cours.pdf
PerfUG - Hadoop Performances
Introduction NoSQL 201401 - Ensim
Présentation_HADOOP.pptx
Publicité

Plus de Adelphe Patrick Mveng (11)

PDF
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
PDF
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
PDF
Patrick mveng
PDF
VIKI : l'intelligence artificielle à votre service
PDF
Selfprogramming software
PDF
Présentation intelligence artificielle et domaines dapplications
PDF
Self-programming Software
PDF
Brain 2.0 - Framework d'apprentissage pour les logiciels
PDF
Human intelligence is behind shapes
PDF
Selfprogramming introduction
PDF
Introduction à la self programming
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Patrick mveng
VIKI : l'intelligence artificielle à votre service
Selfprogramming software
Présentation intelligence artificielle et domaines dapplications
Self-programming Software
Brain 2.0 - Framework d'apprentissage pour les logiciels
Human intelligence is behind shapes
Selfprogramming introduction
Introduction à la self programming
Publicité

Dernier (17)

PPTX
Logique séquentielle : les fondamentaux
PDF
Regles sur la gestion de l’Eclairage public
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PPTX
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PPT
620118449-1-Introduction-de-La-MOCN.pptT
PPTX
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PPTX
UMAPON Cours de traitement des minerais 2.pptx
PDF
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
PPTX
Chapitre7-java------------------ Exception.pptx
PPTX
Introduction aux Systèmes temps réel.pptx
PDF
TP de La Masse Volumique apparente et absolue
PDF
Visite de chantier – Projet de Polyclinique à Laghouat
PDF
TP L’analyse granulométrique par tamisage
PDF
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
PDF
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
Logique séquentielle : les fondamentaux
Regles sur la gestion de l’Eclairage public
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
mon_expose_de_geophysique_disposotif_de_wener.pptx
620118449-1-Introduction-de-La-MOCN.pptT
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
UMAPON Cours de traitement des minerais 2.pptx
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
Chapitre7-java------------------ Exception.pptx
Introduction aux Systèmes temps réel.pptx
TP de La Masse Volumique apparente et absolue
Visite de chantier – Projet de Polyclinique à Laghouat
TP L’analyse granulométrique par tamisage
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf

Presentation Map Reduce

  • 1. Comment traiter rapidement de grands volumes de données avec MapReduce ? Patrick Mveng CEO & Founder , m-MuZiik Microsoft BizSpark member @adelphepatrick GDG DevFest 2014 , Douala 1
  • 2. Introduction Nous sommes à l'ère du #multicœur. Les ordinateurs et les smartphones ont de plus en plus de puissance. Face à la montée croissance du #BigData, les développeurs ont besoin de modèle de programmation qui rendra leurs applications plus #rapides et satisfaire la #clientèle. Au travers de cette présentation nous allons montrer comment traiter rapidement un grand volume de données et donner quelques cas d'utilisation pour moteur de recherche, apprentissage automatique, domotique. 2
  • 3. Problématique • Comment traiter rapidement ces grands volumes de données • Car l’utilisateur ne va pas attendre plus de 5 secondes pour avoir la réponse à une requête • Comment rassembler toutes les données nécessaires pour un traitement ? • Comment organiser le traitement de façon que toutes les données nécessaires soient dans la mémoire en même temps? • Avec un Pentium Core i2,i3,i4,i5 ou de vieux PC , comment traiter rapidement un grand volume de données? 3
  • 4. Solution • Paralléliser les traitements sur les données • Distribuer les traitements sur les données • Dans ce cas, comment coordonnées ces traitements ? • Comment faire si un traitement échoue ? • Si je perd une donnée ? Les autres traitements doivent-ils recommencer ? • Comment coordonnées cette panne ? 4
  • 5. Voici notre héros : MapReduce 5
  • 6. C’est quoi MapReduce ? MapReduce est un patron d'architecture de développement informatique, inventé par Google, dans lequel sont effectués des calculs parallèles, et souvent distribués, de données potentiellement très volumineuses, typiquement supérieures en taille à 1 téraoctet. MapReduce est une méthode d’exécution de programme parallèle consistant à envoyer sur chaque donnée une fonction à exécuter (map) puis à récupérer les résultats pour les intégrer dans un résultat final (reduce). Les termes « map » et « reduce », et les concepts sous-jacents, sont empruntés aux langages de programmation fonctionnelle comme Lisp, Dans le langage Lisp, la fonction map prend en entrée une fonction et une séquence de données. Elle exécute la fonction sur chaque donnée. Puis la fonction reduce collecte les résultats de chaque fonction. 6
  • 7. Fonctionnalités • Parallélisation automatique : pas besoin d’expérience en programmation parallèle • Planification automatique des tâches et équilibrage des charges sur les noeuds • Tolérance aux fautes et redémarrage des nœuds ayant rencontré une erreur ou affectation de la tâche à un autre nœud. • Un noeud peut être un thread, un processus, un ordinateur physique • Indépendance du système de stockage de données • Facile à programmer, basé sur deux simples fonctions • Map() • Reduce() 7
  • 9. Comment fonctionne MapReduce ? • 1) Découpage automatiquement des données en entrée en M bloc de données de même taille. • 2) Le système créé M tâches Map. Chaque tâche Map lit un bloc de données en parallèle et génère une paire résultat temporaire <clé, valeur> dans le système de stockage local. • 3) Le système attend que toutes les tâches Map parallèles se terminent, puis les trie et découpe les paires résultats <clé, valeur> en R regions. • 4) Le système démarre les tâches Reduce en parallèle sur chaque region R, Chaque region traite les paires ayant la même clé. • 5) Le système publie les résultats de chaque tâche Reduce 9
  • 10. Exemple : Un compteur de mots Supposons que nous avons les données suivantes: • cat flower picture • snow cat cat • prince flower sun • king queen AC 10
  • 11. Exemple : Un compteur de mots • Etape 1: Découpage des données en M(4) blocs. 11
  • 12. Exemple : Un compteur de mots • Etape 2: Création de 4 tâches Map en parallèle 12
  • 13. Exemple : Un compteur de mots • Etape 3: Chaque tâche Map fait le décompte par mot, et génère de nouvelles paires que le système trie par clé en 9 regions. 13
  • 14. Exemple : Un compteur de mots • Etape 4: Le système lance 9 tâches parallèles Reduce. Chaque tâche consolide le décompte par mot 14
  • 15. Exemple : Un compteur de mots • Etape 5: Le système publie les 9 résultats dans un fichier résultat 15
  • 16. Implémentation de MapReduce • Hadoop in Java. • Mars in C++ & CUDA. • Skynet in Ruby. • Phoenix in C++ • MyMapReduce in C# 16
  • 17. Qui utilise MapReduce ? m-MuZiik 17
  • 18. Cas d’utilisation avec MapReduce • Reconnaissance de visages sur des millions d’images en direct ou en différé • Recherche d’information dans un moteur de recherche ( Google Search, Bing ) • A la maison, traitement en temps réel de données issues de plusieurs capteurs ( infrarouge, vidéo, etc,) • Simulation de neurones en Intelligence Artificielle 18
  • 19. Présentation de MyMapReduce • Un Framework MapReduce developpé avec C# .Net de Microsoft 19
  • 20. Merci Jeux de Questions / Réponses 20 Comment traiter rapidement de grands volumes de données avec MapReduce ? Patrick Mveng CEO & Founder , m-MuZiik Microsoft BizSpark member @adelphepatrick