SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Traitement de
données massives
avec Hadoop et R

     Alzennyr GOMES DA SILVA
                    EDF R&D



                  11 Octobre 2012
Plan

1. Introduction
2. Le « POC Hadoop » - projet SIGMA/EDF R&D

3. La technologie Hadoop
4. Traitement des données dans Hadoop avec
   RHadoop et Mahout
   –   Etude de cas avec la méthode k-means
5. Conclusion
Introduction
 Facteurs qui contribuent à l’augmentation du volume de données
  Le faible coût des dispositifs traditionnels de stockage de données
  L’apparition de nouveaux dispositifs de communication (smart phones, tablettes, etc.)
  L’utilisation des nouveaux médias sociaux (micro-blog, twitter, youtube, facebook, etc.)
 On parle de « Big Data » ou de données massives
La gestion de données massives dans le domaine
de l’énergie
 Enjeux
  Arrivée des compteurs communicants (smart meters)
  Augmentation de la complexité des réseaux
  électriques (smart grids)
   www.smartgrids-cre.fr
    Passage d’un modèle centralisé à un modèle distribué




                                                                Réseaux électriques intelligents
                                               compteur Linky
                                                                source: CRE




 Le projet SIGMA d’EDF R&D étudie les enjeux liés au passage
 à l’échelle et au traitement de données massives
POC (Proof Of Concept) avec Hadoop
Il s’agit d’une étude de faisabilité sur la technologie Hadoop

    Stockage de données massives de différentes natures
     Courbes de charge individuelles
            1 mesure tous les 10 minutes pour 35 millions de clients / an
            Volume annuel : 1800 milliards de registres
            (120 TB de données brutes non compressées)

     Données contractuelles, données météo, données du réseau

    Implémentation d’un ensemble de scénarios type
        Requêtes tactiques: ex. sélection d’une courbe de charge
        individuelle et comparaison avec une moyenne
        Requêtes analytiques: ex. calcul de synchrones
        Requêtes ad-hoc
        Requêtes Recoflux
Technologie de stockage et traitement de données en mode distribué, parallèle
et extensible

Basé sur le framework de programmation distribuée MapReduce
 Fonction Map (phase amont): décomposition des tâches et traitement de données en tant que paires (k, v)

 Fonction Reduce (phase aval): consolidation des résultats et traitement de données en tant que paires (k, [vv])

Open source, écrit en langage Java et soutenu par la fondation Apache
http://hadoop.apache.org/
Prévu initialement pour le traitement de données non structurées
Peut être installé sur du matériel informatique standard

S’impose comme la solution open source de référence pour le « Big Data » déjà
adoptée par Facebook, eBay, Linkedin, Twitter, Yahoo, etc.
Architecture de la solution mise en place

  Composants logiques
   HDFS (Hadoop Distributed File System)
   Hive (entrepôt de données « SQL-like »)
     Backend : requêtes ETL, analytiques et ad-hoc
   HBase (base de données orientée colonne)
     Frontend: requêtes tactiques (faible latence et haute concurrence)
Architecture de la solution mise en place

  Ressources physiques
     Cluster de 20 nœuds
     Capacité totale : 132 TB ; 336 cœurs (AMD)
Le modèle de données


                       Volume de données
                       compressées sur
                       HDFS : 10 TB (x3)
Les données chargées sur Hadoop
Exemples de courbes de charge
CourboGen © : générateur de courbes de charge
massives
  Génère les courbes de charges ainsi que les données associées
  Outil customisable : durée de génération, intervalle de temps entre les mesures,
  bruit, profils type, etc.
  Architecture distribuée (NodeJS, Redis)
  Données en sortie sous forme de flux




Visualisation de 35 millions de courbes de charges (1 semaine)
Traitement des données dans
Hadoop avec Rhadoop et Mahout
Etude de cas avec la méthode k-means
RHadoop
  Collection de trois packages R permettant de gérer et d’analyser des données
  stockées dans Hadoop à partir de l’environnement R
     « rhdfs » : package de fonctions de manipulation de données stockées sur HDFS
     « rhbase » : package de fonctions de manipulation de données stockées sur HBase
     « rmr » : package de fonctions de codage du paradigme de programmation mapreduce
  Tests exécutés sur les versions suivantes
     Rhadoop : 1.3
     R : 2.11.1
     Hadoop : CDH3 de cloudera
  Rhadoop est un package très récent (2011) utilisé par une communauté encore
  restreinte
  Toutes les fonctions à exécuter doivent être recodées à partir de la fonction
  mapreduce du package rmr
  Exécution de la méthode k-means proposée par l’auteur du package disponible sur
https://github.com/RevolutionAnalytics/RHadoop/blob/master/rmr2/docs/tutorial.md
RHadoop
  Données en entrée: fichier tb_kmeans_r.csv sur HDFS contenant
      35 millions de lignes

      1 dimension représentant la puissance moyenne journalière de chaque compteur

  Script d’exécution de la méthode

> tb_input_kmeans = mapreduce('/tmp/tb_kmeans_r.csv',
    input.format = make.input.format('csv', sep=','),
    structured = T,
    vectorized = T,
    map = function(k, v) keyval( v$V1 %% 35000 , v, vectorized = T),
    reduce = function(k,vv) keyval(k , vv, vectorized = F),
    backend.parameters =
    list(hadoop = list(D ="mapred.reduce.tasks=200",D="mapred.map.tasks=200")),
    verbose=T
)
> kmeans(tb_input_kmeans, ncenters = 20, iterations = 10, fast = T)


 Temps d’exécution
     3.12 heures
Mahout

  Mahout est une collection de plusieurs méthodes d’analyse de données
  programmées en Java avec le paradigme MapReduce

  Mahout tourne sur Hadoop et est soutenu par la fondation Apache

http://mahout.apache.org/

  Mahout dispose d’une communauté d’utilisateurs / développeurs très active

  L’ensemble de méthodes disponibles est en constante augmentation
    clustering, classification, filtrage collaboratif, analyse d’items fréquents, etc.

  La version de k-means utilisée est celle fournie avec Mahout
https://cwiki.apache.org/MAHOUT/k-means-clustering.html
Mahout
 Données en entrée: dossier tb_input_kmeans sur HDFS contenant
     35 millions de lignes

     1 dimension représentant la puissance moyenne journalière de chaque compteur

 Script d’exécution de la méthode

$ mahout org.apache.mahout.clustering.conversion.InputDriver
  --input /user/hive/warehouse/sigma.db/tb_input_kmeans
  --output /user/sigma/outputvector/


$ mahout kmeans
  --input /user/sigma/outputvector/
  -c clusters -k 20 --output /user/sigma/output
  -dm org.apache.mahout.common.distance.EuclideanDistanceMeasure
  --maxIter 15 --overwrite --clustering


Temps d’exécution
    17 minutes
Conclusions
 Bilan de la solution Hadoop

    Avantages
      • Faible coût
      • Capable de gérer données structurées et non structurées
      • Capable de recycler le matériel informatique existant
      • Envisageable pour un usage non-critique
      • Tolérant aux pannes (la perte d’un disque ou d’un nœud n’implique pas
        forcement la perte des données)

    Inconvénients
      • Niveau de maturité encore insuffisant pour le milieu industriel
      • Peu de retours d’expérience dans l’industrie
      • Manque de compétences assez marqué (prise en main de la solution, tuning
        des paramètres de configuration, etc.)
Conclusions
 Bilan des bibliothèques testées

     RHadoop
      • Gratuite et soutenue par une communauté d’utilisateurs encore restreinte
      • Exécutée dans l’ environnement R et peut bénéficier de toutes ses fonctionnalités
      • Une étape d’optimisation et de tuning des méthodes est nécessaire
      • Il s’agit d’une bibliothèque puissante et très prometteuse

     Mahout
      • Gratuite et soutenue par une communauté d’utilisateurs très active
      • Exécutée directement sur HDFS
      • Les méthodes codées sont stables et performantes
Remerciements

 Membres du projet SIGMA d’EDF R&D

  Leeley D. P. dos Santos
  Bruno Jacquin
  Marie-Luce Picard
  David Worms
  Charles Bernard
Références

A proof of concept with Hadoop: storage and analytics of electrical time-series.
Marie-Luce Picard, Bruno Jacquin, Hadoop Summit 2012, Californie, USA, 2012.
présentation : http://www.slideshare.net/Hadoop_Summit/proof-of-concent-with-hadoop
vidéo: http://www.youtube.com/watch?v=mjzblMBvt3Q&feature=plcp

Massive Smart Meter Data Storage and Processing on top of Hadoop.
Leeley D. P. dos Santos, Alzennyr G. da Silva, Bruno Jacquin, Marie-Luce Picard, David Worms,Charles
Bernard. Workshop Big Data 2012, Conférence VLDB (Very Large Data Bases), Istambul, Turquie, 2012.
http://www.cse.buffalo.edu/faculty/tkosar/bigdata2012/program.php


Hadoop: The Definitive Guide. Tom White. O’Reilly Media, original edition, June 2009.


Parallel R, Q. Ethan McCallum, Stephen Weston, O'Reilly Media, Inc., 2011


Package RHadoop: https://github.com/RevolutionAnalytics/RHadoopv

Contenu connexe

Tendances

Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
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 AzureMicrosoft
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
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.ithibnico
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big DataAmal Abid
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop QuébecMathieu Dumoulin
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
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'éclairAlexis Seigneurin
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Alexis Seigneurin
 
Big Data : Une Introduction
Big Data : Une IntroductionBig Data : Une Introduction
Big Data : Une IntroductionNicolas OGÉ
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
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 -introOlivier Mallassi
 

Tendances (20)

Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
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
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Introduction à Hadoop
Introduction à HadoopIntroduction à Hadoop
Introduction à Hadoop
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
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
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big Data
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop Québec
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
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
 
Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)Spark - Alexis Seigneurin (Français)
Spark - Alexis Seigneurin (Français)
 
Big Data : Une Introduction
Big Data : Une IntroductionBig Data : Une Introduction
Big Data : Une Introduction
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
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
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 

Similaire à HADOOP + R

Vision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataVision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataBruno Patin
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessingPierre-Marie Brunet
 
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !OCTO Technology
 
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éaModern Data Stack France
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinPALO IT
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologyImad ALILAT
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfsalmanakbi
 
Avenir des grilles - F. Desprez
Avenir des grilles - F. DesprezAvenir des grilles - F. Desprez
Avenir des grilles - F. DesprezFrederic Desprez
 
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 DataArrow Group
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draftEric Papet
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016Julien BLAIZE
 
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 HadoopJoseph Glorieux
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentariesRima Jamli Faidi
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big dataacogoluegnes
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptxbely26
 
Distributed programing (hadoop && java) version finale.pptx
Distributed programing  (hadoop && java) version finale.pptxDistributed programing  (hadoop && java) version finale.pptx
Distributed programing (hadoop && java) version finale.pptxAhmed rebai
 

Similaire à HADOOP + R (20)

Vision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataVision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big data
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
 
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
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foin
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdf
 
Quel hadoop (#quelhadoop)
Quel hadoop (#quelhadoop)Quel hadoop (#quelhadoop)
Quel hadoop (#quelhadoop)
 
Avenir des grilles - F. Desprez
Avenir des grilles - F. DesprezAvenir des grilles - F. Desprez
Avenir des grilles - F. Desprez
 
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
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draft
 
Afterwork hadoop
Afterwork hadoopAfterwork hadoop
Afterwork hadoop
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
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
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentaries
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big data
 
OWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer lightOWF12/BIG DATA OWF OpenSearchServer light
OWF12/BIG DATA OWF OpenSearchServer light
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptx
 
Distributed programing (hadoop && java) version finale.pptx
Distributed programing  (hadoop && java) version finale.pptxDistributed programing  (hadoop && java) version finale.pptx
Distributed programing (hadoop && java) version finale.pptx
 

Plus de Cdiscount

Presentation r markdown
Presentation r markdown Presentation r markdown
Presentation r markdown Cdiscount
 
R2DOCX : R + WORD
R2DOCX : R + WORDR2DOCX : R + WORD
R2DOCX : R + WORDCdiscount
 
Fltau r interface
Fltau r interfaceFltau r interface
Fltau r interfaceCdiscount
 
Dataiku r users group v2
Dataiku   r users group v2Dataiku   r users group v2
Dataiku r users group v2Cdiscount
 
Paris2012 session4
Paris2012 session4Paris2012 session4
Paris2012 session4Cdiscount
 
Paris2012 session3b
Paris2012 session3bParis2012 session3b
Paris2012 session3bCdiscount
 
Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Cdiscount
 
Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Cdiscount
 
State Space Model
State Space ModelState Space Model
State Space ModelCdiscount
 
Paris2012 session2
Paris2012 session2Paris2012 session2
Paris2012 session2Cdiscount
 
Paris2012 session1
Paris2012 session1Paris2012 session1
Paris2012 session1Cdiscount
 
Introduction à la cartographie avec R
Introduction à la cartographie avec RIntroduction à la cartographie avec R
Introduction à la cartographie avec RCdiscount
 
Prévisions trafic aérien
Prévisions trafic aérienPrévisions trafic aérien
Prévisions trafic aérienCdiscount
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Cdiscount
 
Robust sequentiel learning
Robust sequentiel learningRobust sequentiel learning
Robust sequentiel learningCdiscount
 
Premier pas de web scrapping avec R
Premier pas de  web scrapping avec RPremier pas de  web scrapping avec R
Premier pas de web scrapping avec RCdiscount
 
Incorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageIncorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageCdiscount
 

Plus de Cdiscount (20)

R Devtools
R DevtoolsR Devtools
R Devtools
 
Presentation r markdown
Presentation r markdown Presentation r markdown
Presentation r markdown
 
R2DOCX : R + WORD
R2DOCX : R + WORDR2DOCX : R + WORD
R2DOCX : R + WORD
 
Gur1009
Gur1009Gur1009
Gur1009
 
Fltau r interface
Fltau r interfaceFltau r interface
Fltau r interface
 
Dataiku r users group v2
Dataiku   r users group v2Dataiku   r users group v2
Dataiku r users group v2
 
Paris2012 session4
Paris2012 session4Paris2012 session4
Paris2012 session4
 
Paris2012 session3b
Paris2012 session3bParis2012 session3b
Paris2012 session3b
 
Scm prix blé_2012_11_06
Scm prix blé_2012_11_06Scm prix blé_2012_11_06
Scm prix blé_2012_11_06
 
Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06Scm indicateurs prospectifs_2012_11_06
Scm indicateurs prospectifs_2012_11_06
 
Scm risques
Scm risquesScm risques
Scm risques
 
State Space Model
State Space ModelState Space Model
State Space Model
 
Paris2012 session2
Paris2012 session2Paris2012 session2
Paris2012 session2
 
Paris2012 session1
Paris2012 session1Paris2012 session1
Paris2012 session1
 
Introduction à la cartographie avec R
Introduction à la cartographie avec RIntroduction à la cartographie avec R
Introduction à la cartographie avec R
 
Prévisions trafic aérien
Prévisions trafic aérienPrévisions trafic aérien
Prévisions trafic aérien
 
Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)Parallel R in snow (english after 2nd slide)
Parallel R in snow (english after 2nd slide)
 
Robust sequentiel learning
Robust sequentiel learningRobust sequentiel learning
Robust sequentiel learning
 
Premier pas de web scrapping avec R
Premier pas de  web scrapping avec RPremier pas de  web scrapping avec R
Premier pas de web scrapping avec R
 
Incorporer du C dans R, créer son package
Incorporer du C dans R, créer son packageIncorporer du C dans R, créer son package
Incorporer du C dans R, créer son package
 

HADOOP + R

  • 1. Traitement de données massives avec Hadoop et R Alzennyr GOMES DA SILVA EDF R&D 11 Octobre 2012
  • 2. Plan 1. Introduction 2. Le « POC Hadoop » - projet SIGMA/EDF R&D 3. La technologie Hadoop 4. Traitement des données dans Hadoop avec RHadoop et Mahout – Etude de cas avec la méthode k-means 5. Conclusion
  • 3. Introduction Facteurs qui contribuent à l’augmentation du volume de données Le faible coût des dispositifs traditionnels de stockage de données L’apparition de nouveaux dispositifs de communication (smart phones, tablettes, etc.) L’utilisation des nouveaux médias sociaux (micro-blog, twitter, youtube, facebook, etc.) On parle de « Big Data » ou de données massives
  • 4. La gestion de données massives dans le domaine de l’énergie Enjeux Arrivée des compteurs communicants (smart meters) Augmentation de la complexité des réseaux électriques (smart grids) www.smartgrids-cre.fr  Passage d’un modèle centralisé à un modèle distribué Réseaux électriques intelligents compteur Linky source: CRE Le projet SIGMA d’EDF R&D étudie les enjeux liés au passage à l’échelle et au traitement de données massives
  • 5. POC (Proof Of Concept) avec Hadoop Il s’agit d’une étude de faisabilité sur la technologie Hadoop Stockage de données massives de différentes natures Courbes de charge individuelles 1 mesure tous les 10 minutes pour 35 millions de clients / an Volume annuel : 1800 milliards de registres (120 TB de données brutes non compressées) Données contractuelles, données météo, données du réseau Implémentation d’un ensemble de scénarios type Requêtes tactiques: ex. sélection d’une courbe de charge individuelle et comparaison avec une moyenne Requêtes analytiques: ex. calcul de synchrones Requêtes ad-hoc Requêtes Recoflux
  • 6. Technologie de stockage et traitement de données en mode distribué, parallèle et extensible Basé sur le framework de programmation distribuée MapReduce Fonction Map (phase amont): décomposition des tâches et traitement de données en tant que paires (k, v) Fonction Reduce (phase aval): consolidation des résultats et traitement de données en tant que paires (k, [vv]) Open source, écrit en langage Java et soutenu par la fondation Apache http://hadoop.apache.org/ Prévu initialement pour le traitement de données non structurées Peut être installé sur du matériel informatique standard S’impose comme la solution open source de référence pour le « Big Data » déjà adoptée par Facebook, eBay, Linkedin, Twitter, Yahoo, etc.
  • 7. Architecture de la solution mise en place Composants logiques HDFS (Hadoop Distributed File System) Hive (entrepôt de données « SQL-like ») Backend : requêtes ETL, analytiques et ad-hoc HBase (base de données orientée colonne) Frontend: requêtes tactiques (faible latence et haute concurrence)
  • 8. Architecture de la solution mise en place Ressources physiques Cluster de 20 nœuds Capacité totale : 132 TB ; 336 cœurs (AMD)
  • 9. Le modèle de données Volume de données compressées sur HDFS : 10 TB (x3)
  • 11. Exemples de courbes de charge
  • 12. CourboGen © : générateur de courbes de charge massives Génère les courbes de charges ainsi que les données associées Outil customisable : durée de génération, intervalle de temps entre les mesures, bruit, profils type, etc. Architecture distribuée (NodeJS, Redis) Données en sortie sous forme de flux Visualisation de 35 millions de courbes de charges (1 semaine)
  • 13. Traitement des données dans Hadoop avec Rhadoop et Mahout Etude de cas avec la méthode k-means
  • 14. RHadoop Collection de trois packages R permettant de gérer et d’analyser des données stockées dans Hadoop à partir de l’environnement R « rhdfs » : package de fonctions de manipulation de données stockées sur HDFS « rhbase » : package de fonctions de manipulation de données stockées sur HBase « rmr » : package de fonctions de codage du paradigme de programmation mapreduce Tests exécutés sur les versions suivantes Rhadoop : 1.3 R : 2.11.1 Hadoop : CDH3 de cloudera Rhadoop est un package très récent (2011) utilisé par une communauté encore restreinte Toutes les fonctions à exécuter doivent être recodées à partir de la fonction mapreduce du package rmr Exécution de la méthode k-means proposée par l’auteur du package disponible sur https://github.com/RevolutionAnalytics/RHadoop/blob/master/rmr2/docs/tutorial.md
  • 15. RHadoop Données en entrée: fichier tb_kmeans_r.csv sur HDFS contenant 35 millions de lignes 1 dimension représentant la puissance moyenne journalière de chaque compteur Script d’exécution de la méthode > tb_input_kmeans = mapreduce('/tmp/tb_kmeans_r.csv', input.format = make.input.format('csv', sep=','), structured = T, vectorized = T, map = function(k, v) keyval( v$V1 %% 35000 , v, vectorized = T), reduce = function(k,vv) keyval(k , vv, vectorized = F), backend.parameters = list(hadoop = list(D ="mapred.reduce.tasks=200",D="mapred.map.tasks=200")), verbose=T ) > kmeans(tb_input_kmeans, ncenters = 20, iterations = 10, fast = T) Temps d’exécution 3.12 heures
  • 16. Mahout Mahout est une collection de plusieurs méthodes d’analyse de données programmées en Java avec le paradigme MapReduce Mahout tourne sur Hadoop et est soutenu par la fondation Apache http://mahout.apache.org/ Mahout dispose d’une communauté d’utilisateurs / développeurs très active L’ensemble de méthodes disponibles est en constante augmentation clustering, classification, filtrage collaboratif, analyse d’items fréquents, etc. La version de k-means utilisée est celle fournie avec Mahout https://cwiki.apache.org/MAHOUT/k-means-clustering.html
  • 17. Mahout Données en entrée: dossier tb_input_kmeans sur HDFS contenant 35 millions de lignes 1 dimension représentant la puissance moyenne journalière de chaque compteur Script d’exécution de la méthode $ mahout org.apache.mahout.clustering.conversion.InputDriver --input /user/hive/warehouse/sigma.db/tb_input_kmeans --output /user/sigma/outputvector/ $ mahout kmeans --input /user/sigma/outputvector/ -c clusters -k 20 --output /user/sigma/output -dm org.apache.mahout.common.distance.EuclideanDistanceMeasure --maxIter 15 --overwrite --clustering Temps d’exécution 17 minutes
  • 18. Conclusions Bilan de la solution Hadoop Avantages • Faible coût • Capable de gérer données structurées et non structurées • Capable de recycler le matériel informatique existant • Envisageable pour un usage non-critique • Tolérant aux pannes (la perte d’un disque ou d’un nœud n’implique pas forcement la perte des données) Inconvénients • Niveau de maturité encore insuffisant pour le milieu industriel • Peu de retours d’expérience dans l’industrie • Manque de compétences assez marqué (prise en main de la solution, tuning des paramètres de configuration, etc.)
  • 19. Conclusions Bilan des bibliothèques testées RHadoop • Gratuite et soutenue par une communauté d’utilisateurs encore restreinte • Exécutée dans l’ environnement R et peut bénéficier de toutes ses fonctionnalités • Une étape d’optimisation et de tuning des méthodes est nécessaire • Il s’agit d’une bibliothèque puissante et très prometteuse Mahout • Gratuite et soutenue par une communauté d’utilisateurs très active • Exécutée directement sur HDFS • Les méthodes codées sont stables et performantes
  • 20. Remerciements Membres du projet SIGMA d’EDF R&D Leeley D. P. dos Santos Bruno Jacquin Marie-Luce Picard David Worms Charles Bernard
  • 21. Références A proof of concept with Hadoop: storage and analytics of electrical time-series. Marie-Luce Picard, Bruno Jacquin, Hadoop Summit 2012, Californie, USA, 2012. présentation : http://www.slideshare.net/Hadoop_Summit/proof-of-concent-with-hadoop vidéo: http://www.youtube.com/watch?v=mjzblMBvt3Q&feature=plcp Massive Smart Meter Data Storage and Processing on top of Hadoop. Leeley D. P. dos Santos, Alzennyr G. da Silva, Bruno Jacquin, Marie-Luce Picard, David Worms,Charles Bernard. Workshop Big Data 2012, Conférence VLDB (Very Large Data Bases), Istambul, Turquie, 2012. http://www.cse.buffalo.edu/faculty/tkosar/bigdata2012/program.php Hadoop: The Definitive Guide. Tom White. O’Reilly Media, original edition, June 2009. Parallel R, Q. Ethan McCallum, Stephen Weston, O'Reilly Media, Inc., 2011 Package RHadoop: https://github.com/RevolutionAnalytics/RHadoopv