Upload
marc-bojoly
View
309
Download
3
Embed Size (px)
DESCRIPTION
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
Citation preview
© OCTO 2011
Présentation de MapReduce/Hadoop
Olivier Mallassi, architecte senior OCTO, [email protected]
Marc Bojoly, architecte senior OCTO, [email protected]
2© OCTO 2011
De nouvelles opportunités technologiques
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
0
10
20
30
40
50
60
70
1991 1996 1998 2001 2006
Déb
it (
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
« 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 »
$
$
« Big Data » caractéristiques : complexité des analyses
6@OCTO 2011
Co
mp
lexit
é d
es a
naly
ses &
vo
lum
e d
es d
on
nées
«D
ata
Min
ing
» /
«D
ata
An
aly
tics
»
Dé
tecte
r, A
nticip
er
/ E
xp
liqu
er
su
r la
ba
se
du
pa
ssé
• 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 »
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
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
9© OCTO 2011
L’écosystème Hadoop
Panorama du marché
Open Source
• Apache
• Avec support professionnel
• Cloudera
• Hortonworks
• DataStax (Brisk)
Editeurs/Cloud
• Greenplum(EMC)
• IBM InfoSphereBigInsights
• Platform computing
• Amazon ElasticMapReduce
10@OCTO 2011
De nombreuses
solutions
d’entreprisesouvent construites autour
d’Hadoop …+
Architecture de l’écosystème Hadoop
11@OCTO 2011
Traitement
MapReduceFramework permettant de traiter des données en parallèle
Requêtage
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Workflow
Oozie / AzkabanWorkflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…Collection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Supervision
Platform Management
ConsoleHue
Traitement distribué avancé
MahoutMachine learning
HamaBulk Synchronous Processing
Stockage
HDFSUn système de fichiers distribué write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
Reporting
Hue BeeswaxInterface web de requêtage
PentahoReporting
IBM BigSheetsOutil de requêtage
Le cœur de l’architecture Hadoop
12@OCTO 2011
Traitement
MapReduceFramework permettant de traiter des données en parallèle
Requêtage
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Workflow
Oozie / AzkabanWorkflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…Collection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Supervision
Platform Management
ConsoleHue
Traitement distribué avancé
MahoutMachine learning
HamaBulk Synchronous Processing
Stockage
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
Reporting
Hue BeeswaxInterface web de requêtage
PentahoReporting
IBM BigSheetsOutil de requêtage
Stockage
Requêtage
Visualisation
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Oozie / AskabanWorkflow pour jobs Hadoops dépendants
Intégration au SI
Supervision
Ganglia, Nagios
ZookeeperService de coordination
Flume, Chukwa, ScribeCollection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Développement
Karmasphere StudioIDE et outil de requêtage
IBM BigSheetsOutil de requêtage
HueInterface web de supervision et de requêtage
Stockage
TraitementMapReduce
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
Hadoop Distributed File System
13@OCTO 2011
HDFS
NameNode IP#1File.txt IP#2 & 5 IP#2 & 4 IP#3 & 4 IP#3 & 4
…..
DataNode-IP#2
Fichier.txt
File#1-Block#1
File#1-Block#2
DataNode-IP#3 DataNode-IP#4 DataNode-IP#5
File#1-Block#3
File#1-Block#4
File#1-Block#2
File#1-Block#3
File#1-Block#1
File#1-Block#4
hdfs://IP#1:9000 xxx://….
File#n-Block#n File#n-Block#n File#n-Block#n File#n-Block#n
JOB
Hadoop MapReduce
14@OCTO 2011
IP#1 (Master)
IP#2 (Slave)
HDFS Layer NameNode DataNode
Map/Reduce Layer
JobTracker
TaskTracker
IP#3 (Slave)
DataNode
TaskTracker
IP#4 (Slave)
DataNode
TaskTracker
IP#5 (Slave)
DataNode
TaskTracker
Programme
MapReduce
Fichier
Map taskMap task Map task Map task
Reduce task
MapReducePrincipes de l’algorithme
15© OCTO 2011
MapExtraction des prix par devise
Shuffle & Sort
Reducesomme sur l’axe d’agrégation
Itération sur l’ensemble des K2
GED EQSWAP John 15/09/2010 EUR 10200 Credit SGGED SWAPTION John 14/09/2010 EUR 11000 Credit HSBC…GED SWAPTION John 17/09/2010 EUR 5500 Credit HSBCIRD IRS Simon 13/09/2010 USD 10000 Debit SGIRD IRS Simon 14/09/2010 USD 11000 CreditBankofAmerica
EUR 10200,11000, 5500USD -10000,11000
EUR 10200USD -10000EUR 11000EUR 5500USD 11000
EUR 26700USD 1000
Objectif : réaliser la
somme des deals sur un
axe d’agrégation
(K1, V1)
List(K2, V2)
K2,list(V2)
List(K3, V3)
Local FSHDFS HDFS
MapReduceImplémentation de l’algorithme
16@OCTO 2011
Local FS
map
map
map
split0
split1
split2
reduce part0Input Output
Map Shuffle & Sort Reducesort mergecopy
K1, V1 List (K2, V2) K2, list(V2) List (K3, V3)K2, list(V2)
Local FS HDFS
MapReduceOptimisation de l’algorithme
17@OCTO 2011
Local FSHDFS
map
map
map
split0
split1
split2
reduce part0Input Output
Map Shuffle & Sort Reducesort mergecopy
Réduction des écritures disque
HDFSLocal FS
MapReduceOptimisation de l’algorithme
18@OCTO 2011
Local FSHDFS
map
map
map
split0
split1
split2
Input
Map Shuffle & Sortsort mergecopy
Utilisation de combiners
combine
combine
combine
reduce part0
Reduce
Local FS HDFS
MapReduceOptimisation de l’algorithme
19@OCTO 2011
Local FSHDFS
map
map
map
split0
split1
split2
Input
Map Shuffle & Sort Reducesort mergecopy
reduce part0 Output
reduce part0 Output
Utilisation de
plusieurs reducers
RequêtageDeux DSL pour masquer la complexité
PIG : un langage de flux
20@OCTO 2011
HD
FS
HD
FS
Meta
sto
re
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
Les outils de supervision
21@OCTO 2011
Traitement
MapReduceFramework permettant de traiter des données en parallèle
Requêtage
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Workflow
Oozie / AzkabanWorkflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…Collection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Supervision
Platform Management
ConsoleHue
Traitement distribué avancé
MahoutMachine learning
HamaBulk Synchronous Processing
Stockage
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
Reporting
Hue BeeswaxInterface web de requêtage
PentahoReporting
IBM BigSheetsOutil de requêtage
Apache HadoopInterface standard
Platform Management ConsoleOutil de supervision
Les outils de visualisation
22@OCTO 2011
Traitement
MapReduceFramework permettant de traiter des données en parallèle
Requêtage
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Workflow
Oozie / AzkabanWorkflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…Collection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Supervision
Platform Management
ConsoleHue
Traitement distribué avancé
MahoutMachine learning
HamaBulk Synchronous Processing
Stockage
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
Reporting
Hue BeeswaxInterface web de requêtage
PentahoReporting
IBM BigSheetsOutil de requêtage Hue Beeswax
Interface web de requêtage Hive
IBM BigSheetsOutil de requêtage
PentahoReporting
L’intégration des données depuis le SI
23@OCTO 2011
Traitement
MapReduceFramework permettant de traiter des données en parallèle
Requêtage
PigLangage de flux de données
HiveDSL de requêtage « SQL-like »
Workflow
Oozie / AzkabanWorkflow pour jobs Hadoops dépendants
Infrastructure
Intégration au SI
Flume, Chukwa, Scribe…Collection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop
Supervision
Platform Management
ConsoleHue
Traitement distribué avancé
MahoutMachine learning
HamaBulk Synchronous Processing
Stockage
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
Reporting
Hue BeeswaxInterface web de requêtage
PentahoReporting
IBM BigSheetsOutil de requêtage
Stockage
Traitement
HDFSUn système de fichiers distribués write-once, read-many
HbaseBase de données pour des accès aléatoires read/write
MapReduceFramework permettant de traiter des données en parallèle
PigLangage de flux de données Hive
DSL de requêtage « SQL-like »
Intégration au SI
Flume
Chukwa,
Scribe,
KafkaCollection de données fiable et résiliente
SqoopIntégration RDBMS & Hadoop par Bulk Copy
HDFSIntégration par fichiershadoop fs –copyFromLocal
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