100% ont trouvé ce document utile (2 votes)
539 vues3 pages

TP Map Reduce

Transféré par

fidaletaief58
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (2 votes)
539 vues3 pages

TP Map Reduce

Transféré par

fidaletaief58
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP : MapReduce

MapReduce est un paradigme de traitement de données afin de condenser des grands volumes
de données en résultats agrégés utiles. En termes très simples, la commande MapReduce prend
deux entrées primaires, la fonction de mappage et la fonction de réducteur.

Un Mapper débutera par la lecture d'une collection de données pour construire une map avec
les champs que nous souhaiterons traiter. Puis cette paire clé, valeur est introduite dans un
réducteur, qui traitera les valeurs.

Figure1 : Paradigm de mapReduce


>db.collection.mapReduce(
function() {emit(key,value);}, //map function
function(key,values) {return reduceFunction}, //reduce function
{
out: nom-variable,
query: document,
sort: document,
limit: number
}
)

• map: Fonction javascript qui mappe une valeur à une clé et émet la paire clé/valeur
• reduce: Fonction javascript qui réduit ou regroupe tous les documents ayant la même
clé
• out: Spécifie l'emplacement du résultat de la spécifies de la map-reduce
• query: Précise les critères de sélection en option pour sélectionner les documents
• sort: Précise les critères de tri en option
• limit: Indique le nombre maximal option de documents à retourner

Exemple:

Affichage du nombre des films en base mongo par genre:

>var map =function() {emit(this.genre,1);};

>var reduce = function(key, values) { return Array.sum(values)};

>var count = db.movies.mapReduce(map, reduce, {out: "movies_result"});

>db.movies_result.find();

Exercices
Exercice 1:

Insertion de données :

db.text_data.insertMany([

{ content: "Hello world, this is a sample text for word count." },

{ content: "MongoDB is a popular NoSQL database." },

{ content: "NoSQL databases like MongoDB and Cassandra are scalable." }]);

In this exercise counts the occurrence of each word in a collection of text document using
map reduce function

Figure2 : Exemple de MapReduce


Exercice 2:

Insertion de données :

db.student_scores.insertMany([

{ student_id: 1, score: 85 },

{ student_id: 1, score: 90 },

{ student_id: 2, score: 75 },

{ student_id: 2, score: 80 },

{ student_id: 3, score: 95 },

{ student_id: 3, score: 88 }

]);

In this exercise calculates the average score for each student using map reduce function

-----------------------------------------------------------------------------------------------------------------

Vous aimerez peut-être aussi