Introduction à MapReduce/Hadoop et Spark



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

Certificat Big Data - Master MAthématiques

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

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

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

Programmation parallèle et distribuée

Big Data Concepts et mise en oeuvre de Hadoop

Programmation parallèle et distribuée

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

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

Cartographie des solutions BigData

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

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


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

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

HADOOP ET SON ÉCOSYSTÈME

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

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

Ricco Rakotomalala R.R. Université Lyon 2

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

Panorama des solutions analytiques existantes

Introduc)on à Map- Reduce. Vincent Leroy

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)

Notes de cours Practical BigData

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

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

BIG Data et R: opportunités et perspectives

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

BIG DATA en Sciences et Industries de l Environnement

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

BI = Business Intelligence Master Data-Science

Tables Rondes Le «Big Data»

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

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

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

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

Labs Hadoop Février 2013

Les technologies du Big Data

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)

Big Data et Graphes : Quelques pistes de recherche

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

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

Document réalisé par Khadidjatou BAMBA

Offre formation Big Data Analytics

Le BigData, aussi par et pour les PMEs

4 Exemples de problèmes MapReduce incrémentaux

Introduction à Hadoop & MapReduce

Les enjeux du Big Data Innovation et opportunités de l'internet industriel. Datasio 2013

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

Les quatre piliers d une solution de gestion des Big Data

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

Les journées SQL Server 2013

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

Big Data et Graphes : Quelques pistes de recherche

Hadoop, les clés du succès

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Big Data. Les problématiques liées au stockage des données et aux capacités de calcul

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

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

Fouille de données massives avec Hadoop

DEMARRER UN PROJET BIGDATA EN QUELQUES MINUTES GRACE AU CLOUD

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

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

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

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

M2 GL UE DOC «In memory analytics»

Hadoop dans l entreprise: du concept à la réalité. Pourquoi et comment?

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

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

Big Data, un nouveau paradigme et de nouveaux challenges

Les datas = le fuel du 21ième sicècle

DÉPLOIEMENT DE QLIKVIEW POUR DES ANALYSES BIG DATA CHEZ KING.COM

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015

Programmation Par Objets

BlobSeerFS : un système de fichiers pour le calcul hautes performances sous Hadoop MapReduce

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

Introduction Big Data

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

Surmonter les 5 défis opérationnels du Big Data

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

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

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

Les bases de données relationnelles

Big Graph Data Forum Teratec 2013

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Gestion collaborative de documents

Projet Xdata. Cinequant, Data Publica, EDF, ESRI, Hurence, INRIA, Institut Mines Telecom, La Poste, Orange, Veolia

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

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

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

Cassandra et Spark pour gérer la musique On-line

Présentation du module Base de données spatio-temporelles

Hervé Couturier EVP, SAP Technology Development

Transcription:

1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC

Plan 2 / 36

Contexte 3 / 36

Contexte 4 / 36

Data driven science: le 4e paradigme (Jim Gray - Prix Turing) 5 / 36 SNR 2013 Extrait: A l heure actuelle, la science vit une révolution qui conduit à nouveau paradigme selon lequel la science est dans les données, autrement dit la connaissance émerge du traitement des données [...] Le traitement de données et la gestion de connaissances représentent ainsi le quatrième pilier de la science après la théorie, l expérimentation et la simulation. L extraction de connaissances à partir de grands volumes de données (en particulier quand le nombre de données est bien plus grand que la taille de l échantillon), l apprentissage statistique, l agrégation de données hétérogènes, la visualisation et la navigation dans de grands espaces de données et de connaissances sont autant d instruments qui permettent d observer des phénomènes, de valider des hypothèses, d élaborer de nouveaux modèles ou de prendre des décisions en situation critique

Traitement de données 6 / 36... 68% des entreprises qui ont systématiquement recours à une analyse de données dans leurs prises de décision voient leurs bénéfices augmenter * selon une étude menée par the Economist Intelligence Unit (2014)... Pour qui réussit à optimiser son usage, la donnée devient information, puis, bien partagée au sein de l entreprise, elle se transforme en connaissance et constitue son savoir. Elle peut être une source de services et d innovations, notamment lorsqu on la croise avec d autres données et qu elle provient de sources diverses. * Enjeux Business des données - CIGREF 2014

Traitement de données en entreprise 7 / 36... La donnée est donc l un des principaux actifs immatériels de nos organisations, et pour autant, n est pas encore gérée avec la même rigueur ni les mêmes moyens que les autres ressources, capital et ressources humaines notamment. Dans un contexte où elle est devenue critique pour l activité de l entreprise, la mise en place d une gestion structurée et industrielle de la donnée est impérative. * Enjeux Business des données - CIGREF 2014

Etude IDC - Microsoft 2014 8 / 36

Etude IDC - Microsoft 2014 9 / 36

Etude IDC - Microsoft 2014 10 / 36

Dans ce cours 11 / 36 Calcul distribué Un des enjeux concerne le traitement de grandes quantités de données. Ce traitement ne peut être réalisé avec les paradigmes classiques de traitement de données et nécessite l utilisation de plateformes distribuées de calcul Introduction à Hadoop Introduction à Spark Prise en main des deux plateformes

Distribution des Données 12 / 36 Contexte Très grand Volume de Données Google = 20 milliards de pages Web = 400 TeraOctets, 30-35 MB/sec (lecture sur disque) 4 mois de lecture. Données Distribuées Problématique Comment effectuer des calculs sur ces grandes masses de données?

13 / 36 Problématique Comment effectuer des calculs sur ces grandes masses de données? Pourquoi faire? Indexation Moteurs de Recherche Indexation d images Reporting: Caractériser les utilisateurs d un réseau social Détecter la fraude à la CB Statistiques sur des logs de connexions (publicité) Analyse: Détection de Communautés Analyse du Churn

Map Reduce 14 / 36 Problématique Comment effectuer des calculs sur ces grandes masses de données? Map-Reduce Map-Reduce a été introduit par Google en 2004 Map-Reduce est un: Un modèle de programmation, avec un schéma tres contraint, qui permet: parallélisation automatique, de l équilibrage de charge, des optimisations sur les transferts disques et réseaux, de la tolérance aux pannes

Map-Reduce 15 / 36 The Yahoo! Search Webmap is a Hadoop application that runs on a more than 10,000 core Linux cluster and produces data that is now used in every Yahoo! Web search query. Google : the size of one phase of the computation [of the index] dropped from approximately 3800 line of C++ code to approximately 700 lines when expressed using MapReduce. Facebook has multiple Hadoop clusters deployed now - with the biggest having about 2500 cpu cores and 1 PetaByte of disk space. We are loading over 250 gigabytes of compressed data (over 2 terabytes uncompressed) into the Hadoop file system every day and have hundreds of jobs running each day against these data sets. Hadoop est aussi utilisée par Twitter, Amazon, Rackspace, LinkedIn, IBM, Veoh, Last.fm (en Bash!!), Microsoft...

Traitement distribué 16 / 36 Apache Hadoop Framework distribué Utilisé par de très nombreuses entreprises Traitements parallèles sur des clusters de machines Amener le code aux données Système de fichiers HDFS Système de fichiers virtuel de Hadoop Conçu pour stocker de très gros volumes de données sur un grand nombre de machines Permet l abstraction de l architecture physique de stockage Réplication des données

Hadoop Distributed File System 17 / 36

Hadoop Distributed File System 18 / 36 Architecture de machines HDFS NameNode : Gère l espace de noms, l arborescence du système de fichiers et les métadonnées des fichiers et des répertoires SecondaryNameNode : Gère l historique des modifications dans le système de fichiers Permet la continuité du fonctionnement du cluster en cas de panne du NameNode principal DataNode : Stocke et restitue les blocs de données.

Hadoop Distributed File System 19 / 36

Hadoop 20 / 36 De nombreux outils basés sur Hadoop MapReduce : Outil de mise en oeuvre du paradigme de programmation parallèle du même nom HBase : Base de données distribuée disposant d un stockage structuré pour les grandes tables Hive : Logiciel d analyse de données (initialement développé par Facebook) permettant d utiliser Hadoop avec une syntaxe proche du SQL Pig : Logiciel d analyse de données (initialement développé par Yahoo!) comparable à Hive mais utilisant le langage Pig Latin Spark : Framework de traitement de données distribué avec mémoire partagée Plateforme d apprentissage Mahout

Qui utilise Hadoop? 21 / 36

Map Reduce 22 / 36 Exécution 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 and Conquer Map Reduce 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]

Map Reduce 23 / 36 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

Map Reduce 24 / 36 Ecrire 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 le programme pour l opération Map 4 Écrire le programme pour l opération Reduce

Map Reduce: WordCount 25 / 36 Exemple classique : le Comptage de mots Fichiers d entrée textuels On veut connaître le nombre d occurences 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)

Map Reduce: WordCount 26 / 36 Fichier d entrée : Pour simplifier, on retire tout symbole de ponctuation et caractères spéciaux. On passe l intégralité du texte en minuscules.

Map Reduce: WordCount 27 / 36 Découpage des données d entrée: par exemple par ligne Ici, 4 unités de traitement après découpage

Map Reduce: WordCount 28 / 36 Opération map : Séparation de l unité en mots (selon les espaces) Emission d une paire <mot,1> pour chaque mot

Map Reduce: WordCount 29 / 36 Après le map : regroupement (ou shuffle) des clés communes Effectué par un tri distribué Pris en charge de manière automatique par Hadoop

Map Reduce: WordCount 30 / 36 Opération Reduce : Sommation des valeurs de toutes les paires de clé commune Ecriture dans un (ou des) fichier(s) resultats

Etude de Cas 31 / 36 Map(String input_key, String input_values) : foreach word w in input_values: EmitIntermediate( w, " 1" ); Reduce (String key, Iterator intermediate_values): int result=0; foreach v in intermediate_values: result += ParseInt( v ); Emit( key, String( result ));

Implémentations 32 / 36 Plusieurs implémentations existent. Dans différents languages (C++, C#, Erlang, Java, Python, Ruby, R,..) La plus connue est Hadoop (de la fondation Apache)

Hadoop 33 / 36 p u b l i c s t a t i c class TokenizerMapper extends Mapper< { p r i v a t e f i n a l s t a t i c I n t W r i t a b l e one = new I n t W r i p r i v a t e Text word = new Text ( ) ; } p u b l i c void map( Object key, Text value, Context c throws IOException, I n t e r r u p t e d E x c e p t { StringTokenizer i t r = new S tringtokenizer ( value while ( i t r. hasmoretokens ( ) ) { word. set ( i t r. nexttoken ( ) ) ; context. w r i t e ( word, one ) ; } }

Map Reduce 34 / 36 Composants d un processus Map Reduce: 1 Split: Divise les données d entrée en flux parallèles à fournir aux noeuds de calcul. 2 Read: Lit les flux de données en les découpant en unités à traiter. Par défaut à partir d un fichier texte: unité = ligne. 3 Map: Applique sur chaque unité envoyé par le Reader un traitement de transformation dont le résultat est stocké dans des paires <clé,valeur>. 4 Combine: Composant facultatif qui applique un traitement de reduction anticipé à des fins d optimisation. Cette étape ne doit pas perturber la logique de traitement. 5...

Map Reduce 35 / 36 Composants d un processus Map Reduce: 1... 2 Group: Regroupement (ou shuffle) des paires de clés communes. Réalisé par un tri distribué sur les différents noeuds du cluster. 3 Partition: Distribue les groupes de paires sur les différents noeuds de calcul pour préparer l opération de reduction. Généralement effectué par simple hashage et découpage en morceaux de données de tailles égales (dépend du nombre de noeuds Reduce). 4 Reduce: Applique un traitement de réduction à chaque liste de valeurs regroupées. 5 Write: Écrit le resultat du traitement dans le(s) fichier(s) résultats(s). On obtient autant de fichiers resultats que l on a de noeuds de reduction.

Map Reduce 36 / 36