Uploaded on

Traitement massif de données avec R et Hadoop …

Traitement massif de données avec R et Hadoop
by Alzennyr Gomes Da Silva, EDF R&D

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,826
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
199
Comments
0
Likes
10

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Traitement dedonnées massivesavec Hadoop et R Alzennyr GOMES DA SILVA EDF R&D 11 Octobre 2012
  • 2. Plan1. Introduction2. Le « POC Hadoop » - projet SIGMA/EDF R&D3. La technologie Hadoop4. Traitement des données dans Hadoop avec RHadoop et Mahout – Etude de cas avec la méthode k-means5. 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 domainede 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 HadoopIl 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èleet extensibleBasé 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 Apachehttp://hadoop.apache.org/Prévu initialement pour le traitement de données non structuréesPeut être installé sur du matériel informatique standardS’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)
  • 10. Les données chargées sur Hadoop
  • 11. Exemples de courbes de charge
  • 12. CourboGen © : générateur de courbes de chargemassives 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 fluxVisualisation de 35 millions de courbes de charges (1 semaine)
  • 13. Traitement des données dansHadoop avec Rhadoop et MahoutEtude 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 surhttps://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 Apachehttp://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 Mahouthttps://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 --clusteringTemps 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érencesA 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-hadoopvidéo: http://www.youtube.com/watch?v=mjzblMBvt3Q&feature=plcpMassive 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,CharlesBernard. Workshop Big Data 2012, Conférence VLDB (Very Large Data Bases), Istambul, Turquie, 2012.http://www.cse.buffalo.edu/faculty/tkosar/bigdata2012/program.phpHadoop: The Definitive Guide. Tom White. O’Reilly Media, original edition, June 2009.Parallel R, Q. Ethan McCallum, Stephen Weston, OReilly Media, Inc., 2011Package RHadoop: https://github.com/RevolutionAnalytics/RHadoopv