NoSQL 4-5. MapReduce, Exercices

Documents pareils
Introduction à MapReduce/Hadoop et Spark

Programmation parallèle et distribuée (Master 1 Info )

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

Certificat Big Data - Master MAthématiques

Cours 8 Not Only SQL

Cartographie des solutions BigData


Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Programmation parallèle et distribuée

Our experience in using Apache Giraph for computing the diameter of large graphs. Paul Bertot - Flavian Jacquot

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Programmation parallèle et distribuée

4 Exemples de problèmes MapReduce incrémentaux

Bases de Données NoSQL

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Ricco Rakotomalala R.R. Université Lyon 2

Hadoop / Big Data MBDS. Benjamin Renaut <renaut.benjamin@tokidev.fr>

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Lʼavenir des grilles Des grilles aux Clouds avec quelques «petits problèmes» de recherche. F. Desprez INRIA

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Introduction aux algorithmes MapReduce. Mathieu Dumoulin (GRAAL), 14 Février 2014

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Pentaho Business Analytics Intégrer > Explorer > Prévoir

R+Hadoop = Rhadoop* Des logiciels libres complémentaires, une implémentation, une réponse au nouveau paradigme du bigdata!

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Notes de cours Practical BigData

De l Etudiant à SBA à l Enseignant Chercheur à l ENSMA

Les journées SQL Server 2013

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

HADOOP ET SON ÉCOSYSTÈME

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Configuration du serveur FTP sécurisé (Microsoft)

MapReduce et Hadoop. Alexandre Denis Inria Bordeaux Sud-Ouest France ENSEIRB PG306

Les technologies du Big Data

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Le BigData, aussi par et pour les PMEs

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Master I Génie Logiciel

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

Hibernate vs. le Cloud Computing

Introduction Big Data

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Session S12 Les bases de l optimisation SQL avec DB2 for i

Bases de données documentaires et distribuées Cours NFE04

Cloud Computing MapReduce Année académique 2014/15

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Module BDR Master d Informatique (SAR)

Panorama des solutions analytiques existantes

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011

Techniques de Programmation pour Internet

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Xtremweb-HEP : A best effort virtualization middleware

Labs Hadoop Février 2013

Centres informatiques

Introduction à ElasticSearch

Tables Rondes Le «Big Data»

LES SYSTÈMES DE FICHIERS

Big Data Concepts et mise en oeuvre de Hadoop

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 7. Récurrences

Représentation d un entier en base b

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Encryptions, compression et partitionnement des données

INFO-F-404 : Techniques avancées de systèmes d exploitation

Paris JUG. Spring Batch. Mardi 14 Mai Olivier Bazoud Julien Jakubowski

Une bibliothèque de templates pour CUDA

données en connaissance et en actions?

FORUM NTIC BIG DATA, OPEN DATA Big Data: les challenges, les défis

Ne cherchez plus, soyez informés! Robert van Kommer

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Les clouds, du buzz à la vraie science

Les bases de données relationnelles

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Hadoop : une plate-forme d exécution de programmes Map-Reduce

1 ) INSTALLATION DE LA CONSOLE 2 2 ) PREMIER DÉMARRAGE DE LA CONSOLE 3 3 ) LES JOBS 4 4 ) LES ORDINATEURS 6

Procédure d installation de mexi backup

Domaine Name System. Auteur: Congduc Pham, Université Lyon 1. Figure 1: Schéma des salles TP11 et TD4

Offre formation Big Data Analytics

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Le projet Gaïa, le Big Data au service du traitement de données satellitaires CRIP - 16/10/2013 Pierre-Marie Brunet

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

TP Bases de données réparties

Transcription:

NoSQL 4-5 MapReduce, Exercices 1

Objectifs (aujourd hui) Principes MapReduce Exemple MapReduce et mongodb Exemple TP 2

Critical MapReduce Execution Overview [DG08] Fork User Program Fork Master Fork Split 1 Split 2 Split 3 Split 4 Split 5... Input Files Key/Value Pairs Assign Map Worker Worker... Worker Map Phase Local Write Assign Reduce Remote read Intermediate Operations Worker Worker Reduce Phase Write Output file 1 Output file 2 Output Files 3

Le paradigme MapReduce MapReduce a été introduit par Google en 2004 MapReduce est : Un modèle de programmation, avec un schéma très contraint, qui permet : parallélisation automatique, de l'equilibrage de charge, des optimisations sur les transferts disques et réseaux, de la tolérance aux pannes 4

Qui? Yahoo! Search: Webmap (application Hadoop sur un cluster Linux avec plus de 10.000 coeurs) Google: la taille d'une seule phase de computation de l'index a baissé de 3.800 lignes de code (C++) à 700 lignes de code avec MapReduce Facebook: plusieurs clusters Hadoop, le plus gros 2.500 coeurs cpu Hadoop utilisé par Twitter, Amazon, Rackspace, LinkedIn, IBM, Microsoft, etc. 5

MapReduce Resolution d'un problème de manière distribuée Découpage en sous-problèmes Execution des sous-problèmes sur les différentes machines du cluster Stratégie algorithmique dite du Divide et Impera MapReduce Paradigme de programmation parallèle visant à généraliser les approches existantes pour produire une approche unique applicable à tous les problèmes Origine du nom: languages fonctionnels Calcul distribué: "MapReduce: Simplified Data Processing on Large Clusters" [Google, 2004] 6

Étapes Deux étapes principales : MAP : Emission de paires <clé, valeur> pour chaque donnée d'entrée lue Reduce : Regroupement des valeurs de clé identique et application d'un traitement sur ces valeurs de clé commune 7

Étapes Écrire un programme Map Reduce : 1. Choisir une manière de découper les données afin que Map soit parallélisable 2. Choisir la clé à utiliser pour notre problème 3. Écrire la fonction pour l'opération Map 4. Écrire la fonction pour l'opération Reduce 8

Comptage de mots Exemple classique : le comptage de mots Fichiers d'entrée textuels On veut connaître le nombre d'occurrences de chacun des mots dans ces fichiers Il faut décider : De la manière dont on découpe les textes Des couples <clé, valeur> à émettre lors du Map appliqué à chaque morceau de texte Du traitement à opérer lors du regroupement des clés communes (Reduce) 9

Fichier d'entrée Celui qui croyait au ciel Celui qui n'y croyait pas [ ] Fou qui fait le délicat Fou qui songe à ses querelles (Louis Aragon, La rose et le Réséda, 1943, fragment) Pour simplifier, on retire tout symbole de ponctuation et caractères spéciaux. On passe l'intégralité du texte en minuscules 10

Fichier d'entrée celui qui croyait au ciel celui qui ny croyait pas fou qui fait le délicat Découpage des données d'entrée : par exemple par ligne fou qui songe a ses querelles Ici, 4 unités de traitement après découpage 11

Map celui qui croyait au ciel (celui;1) (qui;1) (croyait;1) (au;1) (ciel;1) celui qui ny croyait pas fou qui fait le délicat fou qui songe a ses querelles (celui;1) (qui;1) (ny;1) (croyait;1) (pas;1) (fou;1) (qui;1) (fait;1) (le;1) (delicat;1) (fou;1) (qui;1) (songe;1) (a;1) (ses;1) (querelles;1) Opération Map : Séparation de l'unité en mots (selon les espaces) Emission d'une paire <mot,1> pour chaque mot 12

Map (celui;1) (celui; 1) (fou;1) (fou;1) (qui;1) (qui;1) (qui;1) (qui;1) (fait;1) (le;1) (delicate;1) (croyait;1) (croyait;1) (a;1) (ses;1) (au;1) (ny;1) (ciel;1) (pas;1) (querelles;1) Après le Map : regroupement (shuffle) des clés communes Effectué par un tri distribué 13

Reduce Opération Reduce : Sommation des valeurs de toutes les paires de clé commune Ecriture dans (ou des) fichier(s) résultats qui: 4 celui: 2 croyait: 2 fou: 2 au: 1 ciel: 1 ny: 1 pas: 1 fait: 1 [ ] 14

15

Exemple Prix total par client var mapfunction1 = function() { emit(this.cust_id, this.price); }; var reducefunction1 = function(keycustid, valuesprices) { return Array.sum(valuesPrices); }; 16

Exemple Prix total par client db.orders.mapreduce( mapfunction1, reducefunction1, { out: "map_reduce_example" } ) 17

Exemple Calculer la commande et la quantité totale avec la quantité moyenne par article var mapfunction2 = function() { for (var idx = 0; idx < this.items.length; idx++) { var key = this.items[idx].sku; var value = {count: 1, qty: this.items[idx].qty}; emit(key, value);}}; var reducefunction2 = function(keysku, countobjvals) { }; reducedval = { count: 0, qty: 0 }; for (var idx = 0; idx < countobjvals.length; idx++) { } reducedval.count += countobjvals[idx].count; reducedval.qty += countobjvals[idx].qty; return reducedval; 18

Exemple Calculer la commande et la quantité totale avec la quantité moyenne par article var finalizefunction2 = function (key, reducedval) { }; reducedval.avg = reducedval.qty/reducedval.count; return reducedval; db.orders.mapreduce( mapfunction2, ) reducefunction2, { } out: { merge: "map_reduce_example" }, query: { ord_date: }, { $gt: new Date('01/01/2012') } finalize: finalizefunction2 19

TP2: MapReduce DBLP Téléchargez le sujet depuis: http://www.lsis.org/ chifua/#teachings (onglet NOSQL - mongodb TP) 20