• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hadoop MapReduce - OSDC FR 2009
 

Hadoop MapReduce - OSDC FR 2009

on

  • 6,433 views

Introduction au traitement de gros volumes de données avec Hadoop MapReduce.

Introduction au traitement de gros volumes de données avec Hadoop MapReduce.

Statistics

Views

Total Views
6,433
Views on SlideShare
6,156
Embed Views
277

Actions

Likes
4
Downloads
138
Comments
0

4 Embeds 277

http://chtijug.org 254
http://www.slideshare.net 16
http://www.linkedin.com 6
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hadoop MapReduce - OSDC FR 2009 Hadoop MapReduce - OSDC FR 2009 Presentation Transcript

    • 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