24
© OCTO 2011 Présentation de MapReduce/Hadoop Olivier Mallassi, architecte senior OCTO, [email protected] Marc Bojoly, architecte senior OCTO, [email protected]

Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 1: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

© OCTO 2011

Présentation de MapReduce/Hadoop

Olivier Mallassi, architecte senior OCTO, [email protected]

Marc Bojoly, architecte senior OCTO, [email protected]

Page 2: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

2© OCTO 2011

De nouvelles opportunités technologiques

Page 3: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 4: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 5: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

« 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 »

$

$

Page 6: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

« 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

»

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 »

Page 7: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 8: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 9: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

9© OCTO 2011

L’écosystème Hadoop

Page 10: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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 …+

Page 11: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 12: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 13: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 14: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 15: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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)

Page 16: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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)

Page 17: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 18: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 19: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 20: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 21: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 22: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 23: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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

Page 24: Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData

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