L'algorithme Map/Reduce et sa mise en oeuvre avec Apache Hadoop permettent de gérer de très grands volumes de données non structurées. Microsoft adopte Haddop sur Windows et Windows Azure. Venez voir comment.
Citation preview
1. palais descongrsParis7, 8 et 9fvrier 2012
2. BIG DATA: HADOOP MAP / REDUCESUR WINDOWS ET WINDOWSAZURE
Yann SCHWARTZ [email protected] Benjamin Guinebertire (DPE)
www.benjguin.com Pierre Lagarde (DPE) [email protected]
3. Agenda Intro BigData / Hadoop Exemple pour comprendre
Exemple pratique Q&A
4. En 10 ANS LUNIVERS NUMERIQUEVA CROITRE DE x44DE 0.9 35.2
Zetta-octets New Bytes of Information in 2010 Source: IDC, as
reported in The Economist, Feb 25, 2010
5. Traditional e-commerce dataflow
6. New exploratory e-commerce dataflow Batch
7. Qui fait quoi ? Dveloppeurs BigData Data Analyste Community
Manager Lanceur de dmo
8. DmoLancement du scnario Kobojo
9. Prsentation Scnario
10. Ce qui caractrise BigData Nouveaux outils Nouvelles source
de donnes Trs gros volume Stockage ou Donnes non Flux Nouvelle
conomie relationnelles Nouvelles questions + nouveaux rsultatsLes
4V du BIG DATA: VOLUME, VELOCITY, VARIABILITY, AND VARIETY
11. Cassandra Hadoop BackType MR/GFS SimpleDB Hive Oozie Hadoop
Bigtable Dynamo Scribe PigLatin Pig HBase Dremel EC2/EMR/S3 Hadoop
Cassandra [ Isotope | Azure | Excel | BI | SQL DW]Lcosystme
BigDataScalable machine learning and data mining
[Mahout]Statistical modeling and analysis [R]Coordination and
workflow [Oozie, Cascading]Data integration and transformation
[SQOOP, Flume]Social network analytics and petascale graph learning
[Pegasus]Real-time stream analytics and business intelligence
merged with petascale computation [Storm/BackType]Scale-out caching
and storage [Cassandra, HBase, Riak, Redis, Couchbase,
S3]Cloud-oriented data warehousing, pattern discovery, and
transformation [Hive, Pig]
12. Hadoop (Wikipedia) Hadoop est un framework Java libre
destin aux applications distribues et la gestion intensive des
donnes. Il permet aux applications de travailler avec des milliers
de nuds et des ptaoctets de donnes. Source :
http://fr.wikipedia.org/wiki/Hadoop
13. Relationel ou MapReduce ? Traditional RDBMS MapReduceData
Size Des Megabytes aux Terabytes Des Gigabytes aux PetabytesAccess
Interactive and Batch BatchUpdates Read / Write many times Write
once, Read many timesStructure Static Schema Dynamic
SchemaIntegrity High (ACID) LowScaling Nonlinear LinearReference:
Tom Whites Hadoop: The Definitive Guide
14. Larchitecture dHadoop Task Task tracker tracker Map Reduce
Job Layer tracker HDFS Name Layer node Data Data node node
Reference: http://en.wikipedia.org/wiki/File:Hadoop_1.png
15. Positionnement dHadoop enentreprise HADOOP [Azure and
Enterprise] Java OM Streaming OM HiveQL PigLatin .NET/C#/F# (T)SQL
OCEAN OF DATA NOSQL [unstructured, semi-structured, structured] ETL
HDFS EIS / ERP RDBMS File System OData [RSS] Azure Storage
16. COMPTONS LES MOTS
17. Exemple: comptage de mots Map: Pour chaque mot trouv mettre
, 1 Shuffle (magiquement gr par le Framework) Reduce Pour toutes
les occurrences reues clef, valeur (mme clef) Comptage += valeur
mettre clef, comptage
18. En Linq et pour la monte en charge?
19. Map/Reduce: principe Extrait de Hadoop Tutorial from
Yahoo!" (Yahoo! Inc.) / CC BY 3.0
26. Au-del de Map Reduce Map Reduce reprsente le noyau des
traitement Vocabulaire lmentaire de traitement Trs simple - Trop
simple ? Un algorithme ncessite beaucoup de phases de map/reduce
Besoin dexprimer des jobs MR plus haut niveau: Expression dune srie
de traitements (flux de donnes) Plus proche dune expression
familire Pseudo SQL : Hive Dataflow impratif : Pig Latin
27. PIG LATIN records = LOAD
avs://input/ncdc/micro-tab/sample.txt AS (year:chararray,
temperature:int, quality:int); filtered_records = FILTER records BY
temperature != 9999 AND (quality == 0 OR quality == 1 OR quality ==
4 OR quality == 5 OR quality == 9); grouped_records = GROUP
filtered_records BY year; max_temp = FOREACH grouped_records
GENERATE group, MAX(filtered_records.temperature); STORE max_temp
INTO avs://temperatures USING PigStorage();
28. PIG LATIN - Oprateurs Les oprateurs LOAD FILTER GROUP /
COGROUP JOIN CROSS UNION SORT FOREACH...GENERATE
29. PIG Dfinition de fonctions utilisateur (UDF) Traitement
spcifique Exprimable en Java/Python/Javascript Extensibilit du
langage Caractristiques Moins rapide que Map/Reduce Beaucoup moins
de code "Modle mental" moins tordu Les performances samliorent
chaque release
30. Autres langages Cascalog DSL bas sur Clojure Unifi (un seul
langage pour les scripts et les UDF) Bien plus expressif que Pig
Cot dentre assez lev (fonctionnel, et Clojure...)
31. Au-del de Map Reduce Map Reduce reprsente le noyau des
traitement Vocabulaire lmentaire de traitement Trs simple - Trop
simple ? Un algorithme ncessite beaucoup de phases de map/reduce
Besoin dexprimer des jobs MR plus haut niveau: Expression dune srie
de traitements (flux de donnes) Plus proche dune expression
familire Pseudo SQL : Hive Dataflow impratif : Pig Latin
32. Optimiser un job MR Adapter vos donnes au traitement Pr
traitement / post traitement Filtrer en amont Cascade de
traitements Compression Arbitrer entre IO disque et rseau / CPU
Plusieurs algorithmes disponibles gzip, lzo, bzip2 Compresser
comment ? Les donnes en entre et sortie (cot de stockage
moindre)
33. Optimiser un job MR Gestion de la mmoire Hadoop sait
travailler en mmoire et fichier mais il vaut mieux limiter le
spilling Map: limiter le nombre de spills lors du tri Reduce :
favoriser le traitement en mmoire Comme toujours pour lanalyse de
performances: Mesurer Modifier Itrer
34. Schma de la dmo
35. Mahout Explication de la dmarche Explication de lalgorithme
Critres globaux
36. Lien Hadoop vers BI MS Rsultat dans Hive et lecture Dans
Excel Dans SSIS Excel Hive Connector Lien avec SQL Server
37. Dmo
38. Optimisations / Best Practices Idem relationnel (index par
exemple) Bien comprendre la "forme" des donnes Simple beaucoup de
donnes Complexe sur peu de donnes
39. Ecosystme au dessusdHadoop Lucene sur Hadoop Hbase
Mahout
40. Livre sur Windows Azure Premier ouvrage rdig en Franais Sur
lintgralit de la plateforme Windows Azure Disponible ds aujourdhui!
Consultation et achat possible sur le stand (52) des ditions
ENI
41. Des ressources Windows Azuregratuites Testez Windows Azure
Abonns MSDN, vous gratuitement pendant bnficiez de 90 jours Windows
Azure http://aka.ms/ http://aka.ms/ tester-azure-90j
activer-azure-msdn
42. Pour aller plus loin Prochaines sessions des Dev Camps
Chaque semaine, les 10 Live Open Data - Dvelopper des applications
riches avec le fvrier DevCamps 2012 16 Meeting protocole Open Data
ALM, Azure, Windows Phone, HTML5, OpenData fvrier Live Meeting
Azure series - Dvelopper des applications sociales sur la
plateforme Windows Azure 2012
http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le
canvas avec Galactic et la librairie fvrier Meeting three.js 2012
Tlchargement, ressources 21 fvrier Live La production automatise de
code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN
2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure
pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7,
iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres
connatre 9 mars 2012 Live Meeting Kinect - Bien grer la vie de son
capteur 90 jours dessai gratuit de Windows 13 mars 2012 Live
Meeting Sharepoint series - Automatisation des tests Azure 14 mars
Live TFS Health Check - vrifier la bonne sant de votre
www.windowsazure.fr 2012 Meeting plateforme de dveloppement 15 mars
Live Azure series - Dvelopper pour les tlphones, les 2012 Meeting
tablettes et le cloud avec Visual Studio 2010 Jusqu 35% de rduction
sur Visual 16 mars Live Applications METRO design - Dsossage en
rgle dun Studio Pro, avec labonnement MSDN 2012 Meeting template
METRO javascript 20 mars Live Retour dexprience LightSwitch,
Optimisation de www.visualstudio.fr 2012 Meeting laccs aux donnes,
Intgration Silverlight 23 mars Live OAuth - la cl de lutilisation
des rseaux sociaux dans 2012 Meeting votre application