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.
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.
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
1.
palais des
congrès
Paris
7, 8 et 9
février 2012
2.
BIG DATA: HADOOP MAP / REDUCE
SUR WINDOWS ET WINDOWS
AZURE
• Yann SCHWARTZ yschwartz@kobojo.com
• Benjamin Guinebertière (DPE) www.benjguin.com
• Pierre Lagarde (DPE) pierlag@microsoft.com
3.
Agenda
Intro BigData / Hadoop
Exemple pour comprendre
Exemple pratique
Q&A
4.
En 10 ANS L'UNIVERS NUMERIQUE
VA CROITRE DE x44
DE 0.9 à 35.2 Zetta-octets
New Bytes of Information in 2010
Source: IDC, as reported in The Economist, Feb 25, 2010
10.
Ce qui caractérise BigData
Nouveaux outils
Nouvelles source de
données
Très gros volume
Stockage
ou
Données non Flux Nouvelle économie
relationnelles
Nouvelles questions + nouveaux résultats
Les 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]
L'écosystème BigData
Scalable 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 distribuées et à la gestion intensive des
données. Il permet aux applications de travailler avec des
milliers de nœuds et des pétaoctets de données.
Source : http://fr.wikipedia.org/wiki/Hadoop
13.
Relationel ou MapReduce ?
Traditional RDBMS MapReduce
Data Size Des Megabytes aux Terabytes Des Gigabytes aux Petabytes
Access Interactive and Batch Batch
Updates Read / Write many times Write once, Read many times
Structure Static Schema Dynamic Schema
Integrity High (ACID) Low
Scaling Nonlinear Linear
Reference: Tom White’s Hadoop: The Definitive Guide
14.
L'architecture d'Hadoop
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 d'Hadoop en
entreprise
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
17.
Exemple: comptage de mots
Map:
Pour chaque mot trouvé
Émettre <<le mot>>, 1
Shuffle (magiquement géré par le Framework)
Reduce
Pour toutes les occurrences reçues clef, valeur (même
clef)
Comptage += valeur
Émettre clef, comptage
26.
Au-delà de Map Reduce
Map Reduce représente le noyau des traitement
Vocabulaire élémentaire de traitement
Très simple - Trop simple ?
Un algorithme nécessite beaucoup de phases de
map/reduce
Besoin d'exprimer des jobs MR à plus haut niveau:
Expression d'une série de traitements (flux de
données)
Plus proche d'une expression familière
Pseudo SQL : Hive
Dataflow impératif : 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 - Opérateurs
Les opérateurs
LOAD
FILTER
GROUP / COGROUP
JOIN
CROSS
UNION
SORT
FOREACH...GENERATE
29.
PIG
Définition de fonctions utilisateur (UDF)
Traitement spécifique
Exprimable en Java/Python/Javascript
Extensibilité du langage
Caractéristiques
Moins rapide que Map/Reduce
Beaucoup moins de code
"Modèle mental" moins tordu
Les performances s'améliorent à 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
Coût d'entrée assez élevé (fonctionnel, et Clojure...)
31.
Au-delà de Map Reduce
Map Reduce représente le noyau des traitement
Vocabulaire élémentaire de traitement
Très simple - Trop simple ?
Un algorithme nécessite beaucoup de phases de
map/reduce
Besoin d'exprimer des jobs MR à plus haut niveau:
Expression d'une série de traitements (flux de
données)
Plus proche d'une expression familière
Pseudo SQL : Hive
Dataflow impératif : Pig Latin
32.
Optimiser un job MR
Adapter vos données au traitement
Pré traitement / post traitement
Filtrer en amont
Cascade de traitements
Compression
Arbitrer entre IO disque et réseau / CPU
Plusieurs algorithmes disponibles
gzip, lzo, bzip2
Compresser comment ?
Les données en entrée et sortie (coût de stockage
moindre)
33.
Optimiser un job MR
Gestion de la mémoire
Hadoop sait travailler en mémoire et fichier
…mais il vaut mieux limiter le spilling
Map: limiter le nombre de spills lors du tri
Reduce : favoriser le traitement en mémoire
Comme toujours pour l’analyse de performances:
…Mesurer
Modifier
Itérer…
38.
Optimisations / Best Practices
Idem relationnel (index par exemple)
Bien comprendre la "forme" des données
Simple beaucoup de données
Complexe sur peu de données
39.
Ecosystème au dessus
d'Hadoop
Lucene sur Hadoop
Hbase
Mahout
…
40.
Livre sur Windows Azure
Premier ouvrage rédigé en
Français
Sur l’intégralité de la
plateforme Windows Azure
Disponible dès aujourd’hui!
Consultation et achat
possible sur le stand (52)
des éditions ENI
41.
Des ressources Windows Azure
gratuites
Testez Windows Azure Abonnés MSDN, vous
gratuitement pendant bénéficiez 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 - Développer des applications riches avec le
février
DevCamps 2012
16
Meeting protocole Open Data
ALM, Azure, Windows Phone, HTML5, OpenData février
Live
Meeting
Azure series - Développer 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
février
Meeting three.js
2012
Téléchargement, ressources 21
février
Live La production automatisée 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 à connaître 9 mars
2012
Live
Meeting
Kinect - Bien gérer la vie de son capteur
90 jours d’essai gratuit de Windows 13 mars
2012
Live
Meeting
Sharepoint series - Automatisation des tests
Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre
www.windowsazure.fr 2012 Meeting plateforme de développement
15 mars Live Azure series - Développer pour les téléphones, les
2012 Meeting tablettes et le cloud avec Visual Studio 2010
Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un
Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript
20 mars Live Retour d'expérience LightSwitch, Optimisation de
www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight
23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans
2012 Meeting votre application
Much of that data is in traditional databases and data warehouses, and those kinds of data – product orders, new customer records, etc. – grow at a more linear rate. What’s driving the exponential growth is often less structured data. This is in the form of log files, images, video, sensor or device output, and public data. Much of this data never makes it into a relational database, and the technologies used to process this kind of data go by the names “Data Intensive Scalable Computing”, “Large Scale Data Analytics”, or the more trendy term “Big Data”.In the past, much of this kind of data was simply archived, or even thrown out after a relatively short time. But now, it’s economically feasible to not only store, but process and gain insight from this kind of data.Increasing Data VolumesAccording to Gartner, the current annual growth of WW information volume is 59% and continues to rise. This data explosion is being driven by the full range of traditional and non-traditional sources like sensors, devices, bots and crawlers. According to an IDC report, the volume of digital records is forecasted to hit 1.2M Zetabytes (1021 bytes) this year – and predicted to grow 44x over the next decade. Increasing Data ComplexityHistorically, the data has been largely structured in type; however the real growth is coming from non-structured data. The success of search engine providers and e-retailers who unlocked the value of click-stream data has debunked the myth that 80% of unstructured data has no value. The requirement to analyze and mine unstructured and structured data together is increasingly on the agenda for many enterprises today. Increasing Analysis ComplexityIncreasing analysis complexity comes hand in hand with Increased Data Complexity. For example, image processing for facial recognition, search engine classification of videos and use of click-stream data for behavioral analytics. Models for transactional data are mature and well understood and have driven the value behind the last two decades of Data Warehousing and BI. The models governing complex data and behavioral interactions are in their infancy. Increasing Demand for New InsightsDespite the growth in useful information, we also know that the number of users in an organization who have access to Business Intelligence tools and capabilities is less than 20%. This fact combined with the real time nature of data is given rise to demand for real-time and predictive analytics by an increasingly larger user population. Changing EconomicsCloud computing and commodity hardware have radically reduced the acquisition cost of computational and storage capacity. The decreasing cost of distributed compute, memory and storage is fundamentally changing the economics of data processing. The rise of the Data Warehouse appliance has more than halved the cost per terabyte of EDW systems over the past 3yrs. Cloud Data Warehouse systems hold the promise of a 10x TCO advantage over traditional on-premises systems. Emerging TechnologiesEasy to scale commodity hardware is being complimented by new distributed parallel processing frameworks and tools, which combined are providing a rich and inexpensive platform for tackling massive data processing tasks. MapReduce style programming models are enabling new types of analytics that were not practical or possible with SQL. The maturity and commercialization of several open source software products has paved the way for their inclusion in product evaluations for larger scale software projects. The cloud model puts another layer of abstraction between the user and the infrastructure and application platform layer further reducing barriers to adoption of technologies like Hadoop.
http://nosql.mypopescu.com/post/9621746531/a-definition-of-big-dataKEY POINT: Hadoop is part of the solution -
Hadoop is an AND, not an OR. But it requires a certain philosophy that MSFT has not historically embraced. A key benefit of Hadoop is the large, vibrant open source community around it. To succeed, Microsoft needs to not only acknowledge but thrive in this community.(1/3 des employé font de l'Haddop)(1/3 des employés font de l'Hadoop)Historiquement Google est a l'initiative de ce type de traitement
BIG self service BIBillions+ of data itemsUnstructured, semi-structured, log dataReal-time feedsNew analysis types leveraging large server clusters Leverage the Hadoop ecosystem and ride its momentumIW centric designGive business users direct access to the Big Data storeDeliver IW-centric experiences optimized for unstructured and semi-structured queriesCreate, enrich, visualize and share big data sets through fun and immersive experiencesDo it all in the tool they already use - ExcelIncrease the number of questions, reduce the cost of exploratory mining to zeroLeverage new class of analytics and visualizationEnable new types of questions with new types of data and visualizationsLeverage analysis of text, sentiment, clickstream, time windows, classification, clusteringVisualize big data in impactful ways: tag clouds, graphs, timelines, tree maps, etc. Natural extension of our BI platformMaintain a consistent semantic model, consistent expression languageProvide an iterative, experimental, business-driven workflow from the desktop to the Big Data clusterBuild on existing IW skills with the Microsoft BI platform (Excel, PowerPivot, Crescent)Optimized for cloudIntegrate with Azure DataMarket to connect to Bing and other public data sourcesHost big data sets on Azure , integrated with MyDataLeverage Isotope to run analytics clusters
Isotope is the all-up effort around Microsoft and Hadoop. It includes several components:A full distribution of Apache Hadoop that runs on standard windows hardware.A full version of Apache Hadoop that runs on the Azure cloudConnectors from Hadoop (any Hadoop, not just Microsoft’s) to Microsoft’s key products – SQL, Excel, PDW, etc.Jscript shell for live scripting of Hadoop from the browserAdmin, monitoring, and authoring tools to make Microsoft Hadoop best-in-class
privatestaticvoidCountTopNWords() { string sourceContent = null;Console.WriteLine("Reading source file...");using (Stream sourceStream = WebRequest.Create(context.sourceFileUrl) .GetResponse().GetResponseStream()) { using (var reader = new StreamReader(sourceStream)) {sourceContent = reader.ReadToEnd(); } } string[] words = Regex.Split(sourceContent.ToLower(), "[^a-zàäâéèëêïîöôùüûç]"); var result = words .Where(x => x.Length > 5) .GroupBy(x => x) .Select(x => new {word = x.Key, nb = x.Count()}) .OrderByDescending(x => x.nb) .Take(context.NbOfWords);Console.OutputEncoding = Encoding.UTF8;foreach(var r in result) {Console.WriteLine("{0}\\t\\t{1}", r.word, r.nb); } }
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.