Map-Reduce : un paradigme de programmation pour le Big Data

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

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

Introduction à MapReduce/Hadoop et Spark

Certificat Big Data - Master MAthématiques

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)

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

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

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

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

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)

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

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

HADOOP ET SON ÉCOSYSTÈME

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


Programmation parallèle et distribuée

Programmation parallèle et distribuée

4 Exemples de problèmes MapReduce incrémentaux

Notes de cours Practical BigData

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

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

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

Cartographie des solutions BigData

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

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

NewPoint IT Consulting BIG DATA WHITE PAPER. NewPoint Information Technology Consulting

Big Data, un nouveau paradigme et de nouveaux challenges


Big Data On Line Analytics

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

Big Data. Concept et perspectives : la réalité derrière le "buzz"

Big Data Concepts et mise en oeuvre de Hadoop

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Les technologies du Big Data

Labs Hadoop Février 2013

Les journées SQL Server 2013

Le BigData, aussi par et pour les PMEs

Bases de Données NoSQL

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

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

Introduction Big Data

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Raja Bases de données distribuées A Lire - Tutoriel

Centres informatiques

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

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

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

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

ArcGIS 10.1 for Server

Introduc)on à Map- Reduce. Vincent Leroy

Ricco Rakotomalala R.R. Université Lyon 2

Java et les bases de données

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

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

Panorama des solutions analytiques existantes

Les nouvelles architectures des SI : Etat de l Art

Anticiper et prédire les sinistres avec une approche Big Data

I4 : Bases de Données

Business Intelligence

Introduction à Hadoop & MapReduce

Cours Langage C/C++ Programmation modulaire

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Bases de Données OLAP

Programmation des Applications Réparties. Parsers XML DOM et SAX

Le cloud computing au service des applications cartographiques à haute disponibilité

Projet d'infrastructure de stockage mutualisée

Amazon Elastic MapReduce (Amazon EMR)

Chapitre 4: Introduction au Cloud computing

L écosystème Hadoop Nicolas Thiébaud Tuesday, July 2, 13

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

Compte-rendu de projet de Système de gestion de base de données

Windows Azure. Principales fonctions

Fouille de données massives avec Hadoop

Le BIG DATA????? Big Buzz? Big Bang? Big Opportunity? Big hype? Big Business? Big Challenge? Big Hacking? Gérard Peliks planche 2

Les bases de données relationnelles

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

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Le Cloud au LIG? Pierre Neyron PimLIG

À PROPOS DE TALEND...

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

BIG Data et R: opportunités et perspectives

Tables Rondes Le «Big Data»

M2 GL UE DOC «In memory analytics»

Encryptions, compression et partitionnement des données

Jean-François Boulicaut & Mohand-Saïd Hacid

Big Graph Data Forum Teratec 2013

Business Intelligence avec Excel, Power BI et Office 365

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Big Data? Big responsabilités! Paul-Olivier Gibert Digital Ethics

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

X2BIRT : Mettez de l interactivité dans vos archives

Document réalisé par Khadidjatou BAMBA

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Transcription:

Map-Reduce : un paradigme de programmation pour le Big Data Jonathan Lejeune UPMC/LIP6-INRIA CODEL Master 2 SAR 2016/2017 Jonathan Lejeune (UPMC/LIP6) Map-Reduce 1 / 16

Motivations Constat 2,5 ExaOctets produites par jour (source IBM) : scientiques : capteurs, télescopes, accélérateur de particules,... réseaux sociaux : messages, photos, vidéos... commerciales : transactions d'achat, trading,... Les 4 V du BIG DATA Volume : traiter et stocker une grande masse de données Vélocité : analyser pendant la collection de données Variété : données structurées, non structurées (texte, vidéo,...) Véracité : assurer l'intégrité des données Jonathan Lejeune (UPMC/LIP6) Map-Reduce 2 / 16

Le Map-Reduce Conçu par Google et présenté à la conférence OSDI 2004 Un paradigme de programmation Un ux de données basé sur la lecture et la production de clé/valeur 2 fonctions à programmer : map et reduce Un environnement d'exécution Automatisation de la parallélisation sur un ensemble d'unités de calcul : distribution des traitements distribution des données Équilibrage de charge Stockage et transfert de données Gestion des éventuelles fautes et de la communication entre machines = transparent pour le programmeur Jonathan Lejeune (UPMC/LIP6) Map-Reduce 3 / 16

Flux de données global du Map-Reduce Jonathan Lejeune (UPMC/LIP6) Map-Reduce 4 / 16

= Le programmeur doit au minimum fournir les fonctions map et reduce pour que son programme fonctionne Jonathan Lejeune (UPMC/LIP6) Map-Reduce 5 / 16 Schéma d'un calcul Map-Reduce La phase de map Lit les données d'entrée sous la forme de <clé,valeur> Fait un traitement (exemple : extraire une information précise) Produit des données de sortie sous la forme de <clé,valeur> La phase intermédiaire (Shue) Transfert, tri et fusionne les données entre les maps et les reduces La phase de reduce Lit les données des maps via le shue sous la forme <clé,valeur> Fait un traitement (exemple : somme, groupement, ltre,... ) Produit les données de sortie du calcul sous la forme de <clé,valeur>

La phase de Map Un bloc de données d'entrée (split) correspond à une tâche map Un élément du split (ex : ligne de chier, tuple d'une base de données, Objet sérialisé, etc.) est associé à une clé de type K1 A chaque clé de type K1 lue depuis le split, le processus map correspondant fait un appel à la fonction map(). La fonction map() produit dans le ux d'information une liste de <clé,valeur> intermédiaire de type <K2,V2> Map : (K1,V1) list(k2,v2) Jonathan Lejeune (UPMC/LIP6) Map-Reduce 6 / 16

La phase de Reduce Le nombre de reduces est déni a priori par l'utilisateur Une fois la phase de map terminée, agrégation en liste de toutes les valeurs intermédiaires de type V2 associées à une clé de type K2. A chaque clé de type K2 le processus reduce correspondant fait un appel à la fonction reduce(). La fonction reduce() produit dans le ux d'information une liste de <clé,valeur> de type <K3,V3> Chaque paire <K3,V3> émise est enregistrée dans l'ensemble de données de sortie Reduce : (K2, list(v2)) list(k3, V3) Remarque : bien souvent K2 = K3 Jonathan Lejeune (UPMC/LIP6) Map-Reduce 7 / 16

Exemple de calcul : le word-count En entrée : un ou plusieurs (gros) chiers textes En sortie : le nombre d'occurrences de chaque mot du texte Jonathan Lejeune (UPMC/LIP6) Map-Reduce 8 / 16

Exemple de ux de données avec le wordcount Jonathan Lejeune (UPMC/LIP6) Map-Reduce 9 / 16

Les fonctions Map et Reduce du wordcount void Map(key, string value) { } //key : id of the line //value : content of the line for each word w in value { } Emit(w,"1"); void Reduce(string key, list of string values) { //key : a word //value : a list of counter integer count = 0; for each w in values { } count += StringToInt(v); Emit(key, IntToString(count)); } Jonathan Lejeune (UPMC/LIP6) Map-Reduce 10 / 16

La phase de Shue Transmettre des données de la phase map vers la phase reduce Responsabilité des maps stockage local partitionné des couples clé/valeur de sortie de map Partitionnement : assignement déterministe des clés sur NbReduce partitions une valeur de clé est associée à un unique reduce Responsabilité des reduces copy merge sort téléchargement sur chaque map de la partition qui lui est associée agrégation de l'ensemble des partitions téléchargées agrégation des valeurs pour une clé donnée tri des diérentes clés dénissant l'ordre de lecture par le reduce : un ordre doit être déni pour chaque type de clé Jonathan Lejeune (UPMC/LIP6) Map-Reduce 11 / 16

Flux de données détaillé IMPORTANT Jonathan Lejeune (UPMC/LIP6) Map-Reduce 12 / 16

Flux de données détaillé du WordCount Jonathan Lejeune (UPMC/LIP6) Map-Reduce 13 / 16

Bilan du programmeur Map Reduce Le programmeur doit fournir à l'environnement d'exécution : une fonction de map une fonction de reduce des données Le programmeur peut modier : la politique de partitionnement du shue la politique de tri du shue le nombre de reduce la politique de découpage des splits les formats d'entrée et de sortie... Jonathan Lejeune (UPMC/LIP6) Map-Reduce 14 / 16

SGBD vs. Map-Reduce SGBD Map-Reduce Taille GigaOctets PetaOctets Accès Interactif et batch batch Plusieurs lectures Une seule écriture, Mises à jour et écritures plusieurs lectures Données structurées oui non Intégrité forte faible Passage à l'échelle non linéaire linéaire Jonathan Lejeune (UPMC/LIP6) Map-Reduce 15 / 16

Environnement d'exécution Plusieurs implémentations : Google MapReduce :en C++, propriétaire, API Python et Java Apache Hadoop : en Java, open-source, API Java ou streams pour tout langage Amazon Elastic MapReduce : pour le cloud Amazon Microdoft HDInsight : pour le cloud Azur Jonathan Lejeune (UPMC/LIP6) Map-Reduce 16 / 16