Big Data, MapReduce, calculs distribués, sont autant de buzz words et de concepts cantonnés jusqu’à maintenant à quelques acteurs spécifiques. Pourtant, il est un état de fait : nous sommes assis sur une quantité gigantesque de données dont il est difficile d’extraire l’information… D’autre part MapReduce est une solution éprouvée pour analyser d’énormes quantités de données (ou Big Data). Elle a, par exemple, été mise en œuvre par Google pour indexer le web, par LinkedIn pour calculer ses campagnes d’email… Dans ces conditions, ces concepts ont-ils un intérêt dans nos SI ? Quel est le niveau de maturité de ces solutions ? Cet atelier, co-organisé par OCTO Technology (www.octo.com) et Plaform (www.platform.com), démontrera que de telles solutions font sens dans nos projets SI. - See more at: http://blog.octo.com/petit-dejeuner-mapreduce-la-revolution-dans-lanalyse-des-bigdata-le-27-septembre/#sthash.GvRo8gOQ.dpuf
3. Diminution des coûts d’infrastructure
« La nature n’aime pas le vide »…Les possibilités de stockage à des coûts raisonnables
vont être utilisées
Des technologies qui utilisent des mécanismes de réplication plutôt que des stratégies de
« backup/restore »
En partie à cause des volumes
3@OCTO 2011
Source :http://www.mkomo.com/cost-per-gigabyte
0.01
0.10
1.00
10.00
100.00
1,000.00
10,000.00
100,000.00
1,000,000.00
1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
100k $/GB
0,10 $/GB
HDD
RAM
4. 0
10
20
30
40
50
60
70
1991 1996 1998 2001 2006
Débit(MB/s)
Augmentation des performances (des disques)
Des débits disques de plus en
plus rapides
Sans parler du SSD
Capacité de stockage en
mémoire
• Accompagné des gains en
performance
…une aide pour réaliser
Plus de traitements,
Plus vite
4@OCTO 2011
Gain : x91
64 MB/s
0,7 MB/s
Seagate
Barracuda
7200.10
Seagate
Barracuda
ATA IV
IBM DTTA
35010
5. « Commoditization » de l’infrastructure
Des besoins qui dépassent la capacité d’une machine unique
Une pression des coûts qui pousse vers le « commodities »
Des technologies distribuées
Le passage du monde centralisé au monde distribué
5@OCTO 2011
Source : « Datacenter As A Computer »
$
$
6. « Big Data » caractéristiques : complexité des
analyses
6@OCTO 2011
Complexitédesanalyses&volumedesdonnées
«DataMining»/«DataAnalytics»
Détecter,Anticiper/Expliquersurlabasedupassé
• Faire ce que l’on fait aujourd’hui…avec plus de données : être plus précis
• Analyse de risques, fraudes
• A/B testing, segmentation
• …
• Introduire des données comportementales
• Analyses comportementales
• Pourcentage d’internautes allant au bout du processus d’achat
• Publicité , contenu contextuel fonction du client et de son comportement
• Intégration de données issues de la foule
• Impact de twitter sur les marchés financiers
• Utilisation de twitter pour mesurer sa réputation
• Vers plus de « ad hoc » …
• Par opposition au « pré calculé »
• Déceler des comportements
• « Association rule learning »
• Faire ressortir les produits qui sont systématiquement achetés
conjointement
• « Machine learning » appliquée au « Data mining »
• Détection de pattern, classification ou « automatic pattern recognition »
7. Définition Description
Structured - RDBMS (ACID, typage forte, support du schéma)
Semi-
Structured
- XML files
- Data files (csv…)
Quasi-
Structured
- Web Clickstream data, log data…
Unstructured - Text documents, images, videos
« Big Data » caractéristiques : variété et variabilité
des données
Un équilibre « étrange »
Les besoins d’analyse ont un impact sur la structuration des données
L’analyse de données non structurées est plus évolutive mais « coûte
plus » (ie. « brute force » / « full scan »)
7@OCTO 2011
RDBMS
Document
K/V pairs
Fichiers
8. Quelles solutions
8@OCTO 2011
Nouveaux
algorithmes de
type « Massive
Parallel
Processing » :
Map Reduce
Et un marché
Augmentation
volumétrie
Complexité des
analyses
Faible structuration
de la donnée
Evolution des
infrastructures
10. Panorama du marché
Open Source
• Apache
• Avec support
professionnel
• Cloudera
• Hortonworks
• DataStax (Brisk)
Editeurs/Cloud
• Greenplum
(EMC)
• IBM InfoSphere
BigInsights
• Platform
computing
• Amazon Elastic
MapReduce
10@OCTO 2011
De nombreuses
solutions
d’entreprise
souvent construites autour
d’Hadoop …+
11. Architecture de l’écosystème Hadoop
11@OCTO 2011
Traitement
MapReduce
Framework permettant de traiter des données en parallèle
Requêtage
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Workflow
Oozie / Azkaban
Workflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Supervision
Platform Management
Console
Hue
Traitement distribué avancé
Mahout
Machine learning
Hama
Bulk Synchronous Processing
Stockage
HDFS
Un système de fichiers distribué write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Reporting
Hue Beeswax
Interface web de requêtage
Pentaho
Reporting
IBM BigSheets
Outil de requêtage
12. Le cœur de l’architecture Hadoop
12@OCTO 2011
Traitement
MapReduce
Framework permettant de traiter des données en parallèle
Requêtage
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Workflow
Oozie / Azkaban
Workflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Supervision
Platform Management
Console
Hue
Traitement distribué avancé
Mahout
Machine learning
Hama
Bulk Synchronous Processing
Stockage
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Reporting
Hue Beeswax
Interface web de requêtage
Pentaho
Reporting
IBM BigSheets
Outil de requêtage
Stockage
Requêtage
Visualisation
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Oozie / Askaban
Workflow pour jobs Hadoops dépendants
Intégration au SI
Supervision
Ganglia, Nagios
Zookeeper
Service de coordination
Flume, Chukwa, Scribe
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Développement
Karmasphere Studio
IDE et outil de requêtage
IBM BigSheets
Outil de requêtage
Hue
Interface web de supervision et de requêtage
Stockage
Traitement
MapReduce
Un framework de traitement de données
par transformations de fichiers
parallélisées et colocalisées
HDFS
Un système de fichiers applicatif distribué
qui assure la distribution de la charge et la
tolérance aux pannes
19. Local FS HDFS
MapReduce
Optimisation de l’algorithme
19@OCTO 2011
Local FSHDFS
map
map
map
split0
split1
split2
Input
Map Shuffle & Sort Reduce
sort mergecopy
reduce part0 Output
reduce part0 Output
Utilisation de
plusieurs reducers
20. Requêtage
Deux DSL pour masquer la complexité
PIG : un langage de flux
20@OCTO 2011
HDFS
HDFS
Metastore
records = LOAD ‘/input/cashflows.txt’
AS (BookID:chararray, ProductID:chararray,
TraderID:chararray, DueDate:int,
Currency:chararray, Amount:double,
Direction:chararray, Counterparty:chararray);
ccy_grouped = GROUP records BY Currency
results = FOREACH ccy_grouped GENERATE
group, SUM(records.Amount);
DUMP results;
CREATE TABLE cash_flow (BookID STRING,
ProductID STRING, TraderID STRING, DueDate
BIGINT, Currency STRING, Amount DOUBLE,
Direction STRING, Counterparty STRING) ROW
FORMAT DELIMITED FIELDS TERMINATED BY
't' LINES TERMINATED BY 'n' STORED AS
TEXTFILE;
LOAD DATA INPATH '/data/cashflows.txt'
OVERWRITE INTO TABLE cash_flow;
select Currency, sum(Amount) from
cash_flow where Direction='Credit' group
by Currency;
HIVE: un SQL-like
21. Les outils de supervision
21@OCTO 2011
Traitement
MapReduce
Framework permettant de traiter des données en parallèle
Requêtage
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Workflow
Oozie / Azkaban
Workflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Supervision
Platform Management
Console
Hue
Traitement distribué avancé
Mahout
Machine learning
Hama
Bulk Synchronous Processing
Stockage
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Reporting
Hue Beeswax
Interface web de requêtage
Pentaho
Reporting
IBM BigSheets
Outil de requêtage
Apache Hadoop
Interface standard
Platform Management Console
Outil de supervision
22. Les outils de visualisation
22@OCTO 2011
Traitement
MapReduce
Framework permettant de traiter des données en parallèle
Requêtage
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Workflow
Oozie / Azkaban
Workflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Supervision
Platform Management
Console
Hue
Traitement distribué avancé
Mahout
Machine learning
Hama
Bulk Synchronous Processing
Stockage
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Reporting
Hue Beeswax
Interface web de requêtage
Pentaho
Reporting
IBM BigSheets
Outil de requêtage
Hue Beeswax
Interface web de requêtage Hive
IBM BigSheets
Outil de requêtage
Pentaho
Reporting
23. L’intégration des données depuis le SI
23@OCTO 2011
Traitement
MapReduce
Framework permettant de traiter des données en parallèle
Requêtage
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Workflow
Oozie / Azkaban
Workflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop
Supervision
Platform Management
Console
Hue
Traitement distribué avancé
Mahout
Machine learning
Hama
Bulk Synchronous Processing
Stockage
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
Reporting
Hue Beeswax
Interface web de requêtage
Pentaho
Reporting
IBM BigSheets
Outil de requêtage
Stockage
Traitement
HDFS
Un système de fichiers distribués write-once, read-many
Hbase
Base de données pour des accès aléatoires read/write
MapReduce
Framework permettant de traiter des données en parallèle
Pig
Langage de flux de données
Hive
DSL de requêtage « SQL-like »
Intégration au SI
Flume
Chukwa,
Scribe,
Kafka
Collection de données fiable et résiliente
Sqoop
Intégration RDBMS & Hadoop par Bulk Copy
HDFS
Intégration par fichiershadoop fs –copyFromLocal
24. Principaux enjeux autour de MapReduce
Développement
• MapReduce nécessite
d’anticiper la
parallélisation dans la
conception
• Les langages de haut
niveau ne masquent
pas tout (analogie
avec le SQL)
Compromis entre
la performance et
la tolérance aux
pannes
• Niveau de réplication
(cross-rack, cross data
center) et charge du
réseau
• Taille des blocs et coût
d’une reprise sur
erreur
Industrialisation de
la production
• Compatibilité des
produits de la stack
(produits, équipes,
roadmap différentes)
• Gestion de très larges
clusters
24@OCTO 2011