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)
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
Il semblerait que vous ayez déjà ajouté cette diapositive à .
Créer un clipboard
Vous avez clippé votre première diapositive !
En clippant ainsi les diapos qui vous intéressent, vous pourrez les revoir plus tard. Personnalisez le nom d’un clipboard pour mettre de côté vos diapositives.
Créer un clipboard
Partager ce SlideShare
Vous avez les pubs en horreur?
Obtenez SlideShare sans publicité
Bénéficiez d'un accès à des millions de présentations, documents, e-books, de livres audio, de magazines et bien plus encore, sans la moindre publicité.
Offre spéciale pour les lecteurs de SlideShare
Juste pour vous: Essai GRATUIT de 60 jours dans la plus grande bibliothèque numérique du monde.
La famille SlideShare vient de s'agrandir. Profitez de l'accès à des millions de livres numériques, livres audio, magazines et bien plus encore sur Scribd.
Apparemment, vous utilisez un bloqueur de publicités qui est en cours d'exécution. En ajoutant SlideShare à la liste blanche de votre bloqueur de publicités, vous soutenez notre communauté de créateurs de contenu.
Vous détestez les publicités?
Nous avons mis à jour notre politique de confidentialité.
Nous avons mis à jour notre politique de confidentialité pour nous conformer à l'évolution des réglementations mondiales en matière de confidentialité et pour vous informer de la manière dont nous utilisons vos données de façon limitée.
Vous pouvez consulter les détails ci-dessous. En cliquant sur Accepter, vous acceptez la politique de confidentialité mise à jour.