HADOOP + R

  • Published on
    21-Jun-2015

  • View
    9.010

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Transcript

<ul><li> 1. Traitement dedonnes massivesavec Hadoop et R Alzennyr GOMES DA SILVAEDF R&amp;D11 Octobre 2012</li></ul> <p> 2. Plan1. Introduction2. Le POC Hadoop - projet SIGMA/EDF R&amp;D3. La technologie Hadoop4. Traitement des donnes dans Hadoop avec RHadoop et Mahout Etude de cas avec la mthode k-means5. Conclusion 3. Introduction Facteurs qui contribuent laugmentation du volume de donnesLe faible cot des dispositifs traditionnels de stockage de donnesLapparition de nouveaux dispositifs de communication (smart phones, tablettes, etc.)Lutilisation des nouveaux mdias sociaux (micro-blog, twitter, youtube, facebook, etc.) On parle de Big Data ou de donnes massives 4. La gestion de donnes massives dans le domainede lnergie EnjeuxArrive des compteurs communicants (smart meters)Augmentation de la complexit des rseauxlectriques (smart grids) www.smartgrids-cre.fr Passage dun modle centralis un modle distribuRseaux lectriques intelligents compteur Linkysource: CRE Le projet SIGMA dEDF R&amp;D tudie les enjeux lis au passage lchelle et au traitement de donnes massives 5. POC (Proof Of Concept) avec HadoopIl sagit dune tude de faisabilit sur la technologie HadoopStockage de donnes massives de diffrentes natures Courbes de charge individuelles1 mesure tous les 10 minutes pour 35 millions de clients / anVolume annuel : 1800 milliards de registres(120 TB de donnes brutes non compresses) Donnes contractuelles, donnes mto, donnes du rseauImplmentation dun ensemble de scnarios typeRequtes tactiques: ex. slection dune courbe de chargeindividuelle et comparaison avec une moyenneRequtes analytiques: ex. calcul de synchronesRequtes ad-hocRequtes Recoflux 6. Technologie de stockage et traitement de donnes en mode distribu, parallleet extensibleBas sur le framework de programmation distribue MapReduce Fonction Map (phase amont): dcomposition des tches et traitement de donnes en tant que paires (k, v) Fonction Reduce (phase aval): consolidation des rsultats et traitement de donnes en tant que paires (k, [vv])Open source, crit en langage Java et soutenu par la fondation Apachehttp://hadoop.apache.org/Prvu initialement pour le traitement de donnes non structuresPeut tre install sur du matriel informatique standardSimpose comme la solution open source de rfrence pour le Big Data djadopte par Facebook, eBay, Linkedin, Twitter, Yahoo, etc. 7. Architecture de la solution mise en placeComposants logiques HDFS (Hadoop Distributed File System) Hive (entrept de donnes SQL-like ) Backend : requtes ETL, analytiques et ad-hoc HBase (base de donnes oriente colonne) Frontend: requtes tactiques (faible latence et haute concurrence) 8. Architecture de la solution mise en placeRessources physiques Cluster de 20 nuds Capacit totale : 132 TB ; 336 curs (AMD) 9. Le modle de donnes Volume de donnes compresses sur HDFS : 10 TB (x3) 10. Les donnes charges sur Hadoop 11. Exemples de courbes de charge 12. CourboGen : gnrateur de courbes de chargemassivesGnre les courbes de charges ainsi que les donnes associesOutil customisable : dure de gnration, intervalle de temps entre les mesures,bruit, profils type, etc.Architecture distribue (NodeJS, Redis)Donnes en sortie sous forme de fluxVisualisation de 35 millions de courbes de charges (1 semaine) 13. Traitement des donnes dansHadoop avec Rhadoop et MahoutEtude de cas avec la mthode k-means 14. RHadoopCollection de trois packages R permettant de grer et danalyser des donnesstockes dans Hadoop partir de lenvironnement R rhdfs : package de fonctions de manipulation de donnes stockes sur HDFS rhbase : package de fonctions de manipulation de donnes stockes sur HBase rmr : package de fonctions de codage du paradigme de programmation mapreduceTests excuts sur les versions suivantes Rhadoop : 1.3 R : 2.11.1 Hadoop : CDH3 de clouderaRhadoop est un package trs rcent (2011) utilis par une communaut encorerestreinteToutes les fonctions excuter doivent tre recodes partir de la fonctionmapreduce du package rmrExcution de la mthode k-means propose par lauteur du package disponible surhttps://github.com/RevolutionAnalytics/RHadoop/blob/master/rmr2/docs/tutorial.md 15. RHadoopDonnes en entre: fichier tb_kmeans_r.csv sur HDFS contenant35 millions de lignes1 dimension reprsentant la puissance moyenne journalire de chaque compteurScript dexcution de la mthode&gt; 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)&gt; kmeans(tb_input_kmeans, ncenters = 20, iterations = 10, fast = T) Temps dexcution 3.12 heures 16. MahoutMahout est une collection de plusieurs mthodes danalyse de donnesprogrammes en Java avec le paradigme MapReduceMahout tourne sur Hadoop et est soutenu par la fondation Apachehttp://mahout.apache.org/Mahout dispose dune communaut dutilisateurs / dveloppeurs trs activeLensemble de mthodes disponibles est en constante augmentationclustering, classification, filtrage collaboratif, analyse ditems frquents, etc.La version de k-means utilise est celle fournie avec Mahouthttps://cwiki.apache.org/MAHOUT/k-means-clustering.html 17. Mahout Donnes en entre: dossier tb_input_kmeans sur HDFS contenant 35 millions de lignes 1 dimension reprsentant la puissance moyenne journalire de chaque compteur Script dexcution de la mthode$ 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 dexcution17 minutes 18. Conclusions Bilan de la solution HadoopAvantages Faible cot Capable de grer donnes structures et non structures Capable de recycler le matriel informatique existant Envisageable pour un usage non-critique Tolrant aux pannes (la perte dun disque ou dun nud nimplique pasforcement la perte des donnes)Inconvnients Niveau de maturit encore insuffisant pour le milieu industriel Peu de retours dexprience dans lindustrie Manque de comptences assez marqu (prise en main de la solution, tuningdes paramtres de configuration, etc.) 19. Conclusions Bilan des bibliothques testes RHadoop Gratuite et soutenue par une communaut dutilisateurs encore restreinte Excute dans l environnement R et peut bnficier de toutes ses fonctionnalits Une tape doptimisation et de tuning des mthodes est ncessaire Il sagit dune bibliothque puissante et trs prometteuse Mahout Gratuite et soutenue par une communaut dutilisateurs trs active Excute directement sur HDFS Les mthodes codes sont stables et performantes 20. Remerciements Membres du projet SIGMA dEDF R&amp;DLeeley D. P. dos SantosBruno JacquinMarie-Luce PicardDavid WormsCharles Bernard 21. RfrencesA proof of concept with Hadoop: storage and analytics of electrical time-series.Marie-Luce Picard, Bruno Jacquin, Hadoop Summit 2012, Californie, USA, 2012.prsentation : http://www.slideshare.net/Hadoop_Summit/proof-of-concent-with-hadoopvido: http://www.youtube.com/watch?v=mjzblMBvt3Q&amp;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, Confrence VLDB (Very Large Data Bases), Istambul, Turquie, 2012.http://www.cse.buffalo.edu/faculty/tkosar/bigdata2012/program.phpHadoop: The Definitive Guide. Tom White. OReilly Media, original edition, June 2009.Parallel R, Q. Ethan McCallum, Stephen Weston, OReilly Media, Inc., 2011Package RHadoop: https://github.com/RevolutionAnalytics/RHadoopv</p>