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

Similaire à Presentation Map Reduce

CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
YounesOuladSayad1
 
Introduction aux algorithmes map reduce
Introduction aux algorithmes map reduceIntroduction aux algorithmes map reduce
Introduction aux algorithmes map reduce
Mathieu Dumoulin
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Amazon Web Services
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013
nperu
 

Similaire à Presentation Map Reduce (20)

Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce
 
Introduction aux algorithmes map reduce
Introduction aux algorithmes map reduceIntroduction aux algorithmes map reduce
Introduction aux algorithmes map reduce
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentation
 
Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6
 
Devoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudDevoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le Cloud
 
Présentation du FME World Tour du 12 avril 2017 à Montreal
Présentation du FME World Tour du 12 avril 2017 à MontrealPrésentation du FME World Tour du 12 avril 2017 à Montreal
Présentation du FME World Tour du 12 avril 2017 à Montreal
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
 
Base de données
Base de donnéesBase de données
Base de données
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013
 

Plus de Adelphe Patrick Mveng

Plus de Adelphe Patrick Mveng (11)

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

Dernier

2024 03 27 JTC actualités C Perrot (idele).pdf
2024 03 27 JTC actualités C Perrot (idele).pdf2024 03 27 JTC actualités C Perrot (idele).pdf
2024 03 27 JTC actualités C Perrot (idele).pdf
idelewebmestre
 

Dernier (7)

Présentation_Soirée-Information_ St-Eugène.pptx
Présentation_Soirée-Information_ St-Eugène.pptxPrésentation_Soirée-Information_ St-Eugène.pptx
Présentation_Soirée-Information_ St-Eugène.pptx
 
Provinlait 2024-Leviers fourrages - Madrid Aurélie Frayssinhes, Sandra (Cha...
Provinlait 2024-Leviers fourrages - Madrid  Aurélie  Frayssinhes, Sandra (Cha...Provinlait 2024-Leviers fourrages - Madrid  Aurélie  Frayssinhes, Sandra (Cha...
Provinlait 2024-Leviers fourrages - Madrid Aurélie Frayssinhes, Sandra (Cha...
 
JTC_2024_TC Bâtiment et bien-être estival.pdf
JTC_2024_TC Bâtiment et bien-être estival.pdfJTC_2024_TC Bâtiment et bien-être estival.pdf
JTC_2024_TC Bâtiment et bien-être estival.pdf
 
[2024] Comment scaler une application PHP vieille de plus de 20 ans ?
[2024] Comment scaler une application PHP vieille de plus de 20 ans ?[2024] Comment scaler une application PHP vieille de plus de 20 ans ?
[2024] Comment scaler une application PHP vieille de plus de 20 ans ?
 
2024 03 27 JTC actualités C Perrot (idele).pdf
2024 03 27 JTC actualités C Perrot (idele).pdf2024 03 27 JTC actualités C Perrot (idele).pdf
2024 03 27 JTC actualités C Perrot (idele).pdf
 
Pour une traite de qualité, mieux comprendre l’interface trayon-manchon
Pour une traite de qualité, mieux comprendre l’interface trayon-manchonPour une traite de qualité, mieux comprendre l’interface trayon-manchon
Pour une traite de qualité, mieux comprendre l’interface trayon-manchon
 
JTC 2024 - Actualités sur le bien-être animal
JTC 2024 - Actualités sur le bien-être animalJTC 2024 - Actualités sur le bien-être animal
JTC 2024 - Actualités sur le bien-être animal
 

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