SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Hadoop et MapReduce


    Introduction au traitement de gros volumes de 
                       données


      Olivier Grisel ­ AFPy ­ OSDC FR – Nuxeo
             http://twitter.com/ogrisel


       OSDC FR 2009 – Paris Cité des Sciences
                           
Quelques ordres de grandeur
    •
        % ls ­sh enwiki­20090902­pages­articles.xml
           –   23G enwiki­20090902­pages­articles.xml
    •
        % time cat enwiki­20090902­pages­articles.xml 
        > /dev/null
           –   2.53s user 41.39s system 23% cpu 3:03.92 total
           –   128MB/s (sur un disque SSD)
    •
        100 GB => ~ 10 minutes
    •
        1 TB => ~ 2 heures
 
    •
        1 PB => ~ 3 mois           
MapReduce
    •
        Architecture mise au point par Google
    •
        But: faire des traitements (indexation, 
        aggrégation, datamining, ...)
    •
        Webscale (100 GB+, TB, PB, …)
    •
        Déplacer les traitements sur l'infra de stockage
    •
        Exploitation de l'information localisation des 
        données
    •
        Tolérance aux erreurs disque / hardware
                                
Un exemple: Indexer en MapReduce
    •
        map(pageName, pageText):
            –   foreach word in pageText:
            –   emitIntermediate(word, pageName);
        [copie et trie par clefs entre les noeuds]
    •
        reduce(word, pageNames):
            –   bucket = createBucketFor(word)
            –   foreach pageName in pageNames:
                    ●
                        bucket.add(pageName)

 
            –   bucket.finalize()     
Le projet Hadoop
    •
        Open Source / Apache Software Foundation 
    •
        Yahoo / Facebook / Cloudera
    •
        Java
    •
        Sous projets :
            –   Hadoop MapReduce
            –   Hadoop DFS & Hbase
            –   Pig & Hive
            –   Mahout
                                 
Architecture générale
         Name
         Node


                    Data          Data      Data
                    Node          Node      Node

Client

                    Task          Task      Task
                   Tracker       Tracker   Tracker


           Job
         Tracker



                              
Demo
    •
        Construire un jeu de données basé sur un dump 
        XML de wikipedia
    •
        Entrainer un “classifieur” bayesien de 
        documents
    •
        Pour chaque pays, rassembler dans un fichier la 
        liste des texte brut des articles de cette catégorie
    •
        Un article par ligne dans, 1 fichier par pays


                                 
Chargement des données dans 
              HDFS

java ­jar org.apache.mahout.classifier.
bayes.WikipediaXmlSplitter 
  ­d /path/to/enwiki­latest­pages­articles.xml
  ­o wikipedia­chunks/ ­c 64

hadoop dfs ­put wikipedia­chunks/ wikipediadump



                           
     
     
     
Lancement du Job


hadoop jar /path/to/mahout­examples­*.job  
org.apache.mahout.classifier.bayes
.WikipediaDatasetCreatorDriver 
  ­i wikipediadump
  ­o wikipediadataset
  ­c src/test/resources/country.txt


                         
     
HadoopViz




         
     
     
     
Les résultats




           
     
     
C'est bien tout ça mais j'aime pas le 
               Java ...




        … et bien fais le en Scala !
        ●




                      
Hadoop Streaming
    •
        Utiliser des programmes hors JVM:
            –   Lire sur stdin
            –   Ecrire sur stdout 
            –   Respecter la forme “<key>t<value>n”
            –   Emettre un heartbeat sur stderr
    •
        C, Perl, Python, Ruby, bash, sed, awk, ...



                                      
     
Running Streaming Jobs



hadoop jar /path/to/hadoop­0.20.1­streaming.jar 
   ­mapper /home/hadoop/mapper.py 
   ­reducer /home/hadoop/reducer.py  
   ­input gutenberg/*
   ­output gutenberg­output



                          
Je suis DBA et je ne programme pas
    •
        Hive : SQL­like pour faire du Datawarehousing 
        avec Hadoop
    •
        Pig Latin : scripting haut niveau pour faire des 
        transformations sur des logs, dump de DB, ...




                                
Comment installer Hadoop
    •
        Ajouter le repo Cloudera Distribution for 
        Hadoop 2 (CDH2) dans /etc/apt/sources.list
    •
        sudo apt­get install hadoop hadoop­conf­pseudo
    •
        for service in /etc/init.d/hadoop­* ;
        do
          sudo $service start;
        done


                                
     
Comment ne pas installer Hadoop
    •
        Image Amazon EC2 AMI par cloudera avec 
        CDH2
           –   scripts de lancement et de monitoring
           –   Pig, Hive, ...
           –   Possibilité d'installer des packages en plus
    •
        Service Amazon Elastic MapReduce
           –   Lance un cluster AWS EC2 avec Hadoop 
                 préinstallé
           –   1$ / h / node  (octo­core avec 1TB de disque)
                                    
     
Apprendre a Programmer en 
                 MapReduce
    •
        Tutoriel officiel : http://hadoop.apache.org
    •
        Autres tutos : http://www.michael­noll.com
    •
        Blog avec exemples d'applications : 
        http://www.datawrangling.com/
    •
        Support de formation Cloudera
            –   Videos
            –   Slides + fichiers exercices
            –   Images de machine virtuelle
                                     
     
Merci pour votre attention !



         Des questions ?



     http://twitter.com/ogrisel
                  

Contenu connexe

Tendances

Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
fredcons
 
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
OCTO Technology
 
Introduction aux algorithmes map reduce
Introduction aux algorithmes map reduceIntroduction aux algorithmes map reduce
Introduction aux algorithmes map reduce
Mathieu Dumoulin
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Olivier Mallassi
 

Tendances (20)

Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
HADOOP + R
HADOOP + RHADOOP + R
HADOOP + R
 
Stats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.itStats web avec Hive chez Scoop.it
Stats web avec Hive chez Scoop.it
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Big Data : Une Introduction
Big Data : Une IntroductionBig Data : Une Introduction
Big Data : Une Introduction
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
Hadoop
HadoopHadoop
Hadoop
 
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Introduction aux algorithmes map reduce
Introduction aux algorithmes map reduceIntroduction aux algorithmes map reduce
Introduction aux algorithmes map reduce
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
 
Spark une alternative à Hadoop MapReduce pour le Datamining
Spark une alternative à Hadoop MapReduce pour le DataminingSpark une alternative à Hadoop MapReduce pour le Datamining
Spark une alternative à Hadoop MapReduce pour le Datamining
 

En vedette

En vedette (9)

Un introduction à Pig
Un introduction à PigUn introduction à Pig
Un introduction à Pig
 
Tour de Contrôle (Kaliop E-Commerce Dataflow System)
Tour de Contrôle (Kaliop E-Commerce Dataflow System)Tour de Contrôle (Kaliop E-Commerce Dataflow System)
Tour de Contrôle (Kaliop E-Commerce Dataflow System)
 
Utilisation du modele mapreduce dans les differents systemes nosql etude com...
Utilisation du modele mapreduce dans les  differents systemes nosql etude com...Utilisation du modele mapreduce dans les  differents systemes nosql etude com...
Utilisation du modele mapreduce dans les differents systemes nosql etude com...
 
Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclair
 
Introduction to Apache Pig
Introduction to Apache PigIntroduction to Apache Pig
Introduction to Apache Pig
 
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
 
Présentation Google Dataflow
Présentation Google DataflowPrésentation Google Dataflow
Présentation Google Dataflow
 
Introduction to Pig
Introduction to PigIntroduction to Pig
Introduction to Pig
 
Hadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas VialHadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas Vial
 

Similaire à Hadoop MapReduce - OSDC FR 2009

Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Modern Data Stack France
 

Similaire à Hadoop MapReduce - OSDC FR 2009 (20)

Sahara : Hadoop as Service avec OpenStack
Sahara : Hadoop as Service avec OpenStackSahara : Hadoop as Service avec OpenStack
Sahara : Hadoop as Service avec OpenStack
 
Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Pachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerPachyderm big data de l'ère docker
Pachyderm big data de l'ère docker
 
Soutenance ysance
Soutenance ysanceSoutenance ysance
Soutenance ysance
 
Hadoop
HadoopHadoop
Hadoop
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribues
 
Optimiser WordPress
Optimiser WordPressOptimiser WordPress
Optimiser WordPress
 
Optimiser wordpress
Optimiser wordpressOptimiser wordpress
Optimiser wordpress
 
PHP dans le cloud
PHP dans le cloudPHP dans le cloud
PHP dans le cloud
 
Php dans le cloud
Php dans le cloudPhp dans le cloud
Php dans le cloud
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
OWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer lightOWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer light
 
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
 

Plus de Olivier Grisel (7)

Strategies and Tools for Parallel Machine Learning in Python
Strategies and Tools for Parallel Machine Learning in PythonStrategies and Tools for Parallel Machine Learning in Python
Strategies and Tools for Parallel Machine Learning in Python
 
Universal Topic Classification - Named Entity Disambiguation (IKS Workshop Pa...
Universal Topic Classification - Named Entity Disambiguation (IKS Workshop Pa...Universal Topic Classification - Named Entity Disambiguation (IKS Workshop Pa...
Universal Topic Classification - Named Entity Disambiguation (IKS Workshop Pa...
 
Statistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTKStatistical Machine Learning for Text Classification with scikit-learn and NLTK
Statistical Machine Learning for Text Classification with scikit-learn and NLTK
 
Statistical Learning and Text Classification with NLTK and scikit-learn
Statistical Learning and Text Classification with NLTK and scikit-learnStatistical Learning and Text Classification with NLTK and scikit-learn
Statistical Learning and Text Classification with NLTK and scikit-learn
 
Nuxeo Iks 2009 11 13
Nuxeo Iks 2009 11 13Nuxeo Iks 2009 11 13
Nuxeo Iks 2009 11 13
 
Nuxeo 5.3 and Semantic R&D
Nuxeo 5.3 and Semantic R&DNuxeo 5.3 and Semantic R&D
Nuxeo 5.3 and Semantic R&D
 
Programming the PS3
Programming the PS3Programming the PS3
Programming the PS3
 

Hadoop MapReduce - OSDC FR 2009