Plateform
AGENDA
2
HADOOP, qu’est-ce que c’est ?
Quelques cas d’usage
Industrialisation de la plateforme
AGENDA
3
HADOOP, qu’est-ce que c’est ?
Quelques cas d’usage
Industrialisation de la plateforme
HADOOP ?
4
scalability
HADOOP ?
5
Ecosystème
Open
source
Stocker et
traiter de
larges jeux
de données
Scalable
Sur des
serveurs de
type
“commodity
hardware”
Tolérant aux
pannes
HISTORIQUE
6
2003
2004
2005
2006
2007
2008
2009
2012
2013
2014
2016
109 searches
106 web pages
1000 nodes @
Yahoo!
✔
4000 nodes
✔
Hadoop sorted 1 Po in 17h
109 searches
106 web pages
✔
« Vanilla » IT
Relational DB,
Application server,
ETL, ESB,
BPM
Distributed
Storage
Extreme
Transaction
Processing
Parallel
Programming
Event Stream
Processing
10 To online 3,000 TPS
10 threads/core3,000 events/sec
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
LES LIMITES DES OUTILS TRADITIONNELS*
* Il ne s’agit pas de limites absolues, mais d’ordres de grandeur à partir desquels les coûts de mise en œuvre explosent
(hardware spécialisé, expertise, etc.)
7
LES LIMITES DES OUTILS TRADITIONNELS
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
NoSQL
CEP, ESP
In-memory
Grid, GPU
8
HADOOP : VOLUME, VÉLOCITÉ MAIS AUSSI VARIÉTÉ
9
VVolume
V Variety
VVelocity Structured Data
Unstructured Data
Semi-Structured
Data
HADOOP : DES DISTRIBUTIONS [1/2]
¤  Pourquoi une distribution ?
>  Une installation pour avoir la plupart des outils d’Hadoop
>  Combinaison de versions compatibles
10
DIVERSITÉ DE L’ÉCOSYSTÈME
11
¤  Chaque composant est un projet indépendant (cycle de vie, équipe, etc.)
MATURITÉ
12
¤  Hadoop est un écosystème en pleine évolution :
>  Les principaux composants sont matures
>  D’autres sont encore jeunes
HADOOP : DES DISTRIBUTIONS [1/2]
¤  Pourquoi une distribution ?
>  Une installation pour avoir la plupart des outils d’Hadoop
>  Combinaison de versions compatibles
>  Upgrade
>  Support éditeur
¤  Trois distributeurs majeurs :
>  HortonWorks
>  Cloudera
>  MapR
¤  Les éditeurs traditionnels sont des suiveurs sur Hadoop
>  Teradata, Oracle, Microsoft, IBM, etc.
>  Certains s’appuient sur une des 3 distributions majeures
13
HADOOP : DES DISTRIBUTIONS [2/2]
14
400 KLOC
200 KLOC
0
AGENDA
15
HADOOP, qu'est-ce que c’est ?
Quelques cas d’usage
Industrialisation de la plateforme
CARTOGRAPHIE
16
DATA MANAGEMENT
DATA ACCESSDATA WORKFLOW MANAGEMENT
STOCKAGE
18
ENJEUX
ENJEUX
Extreme
Transaction
Processing
Parallel
Programming
Event Stream
Processing
Distributed
Storage
YOU
ARE
HERE
19
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
LA RÉPONSE HADOOP - HDFS
20
DATA MANAGEMENT
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Hadoop repose sur HDFS, un système de fichiers distribués hautement disponible
LA RÉPONSE HADOOP - HDFS
21
~ 3’000 CHF / To
2014
APPEND ONLY - WRITE ONCE READ MANY
UNIX “LIKE”
¤  HDFS supporte des commandes similaires aux systèmes de fichiers sur Linux :
>  Ajout, lecture et suppression de fichiers
>  Créer, lister et supprimer des répertoires
>  Gérer les permissions et propriétés des fichiers et des répertoires
23
HDFS
A
Fichier
B
C
D
E
F
G
Le fichier est
découpé en blocs
NameNodes
DataNodes
Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas
epalatii tui auferri
iubebo prope diem
annonas. hocque
solo contumaciter
dicto subiratus
abscessit nec in
conspectum eius
postea venit
saepius arcessitus.
puis réparti sur les
nœuds
24
DISTRIBUTION DES DONNÉES ET FAILOVER
A B C
D E F
G
A
G
B C
D E F
Et répliqué
(par default x3, ici x2)
DataNodes
25
DISTRIBUTION DES DONNÉES ET FAILOVER
A B C
D E F
G
AG
B
C
D
E
F
!
AG
E
Les blocks A, E, G
sont maintenant
sous-répliqués
Il sont alors
répliqués sur
d’autres nœuds
DataNodes
26
ALIMENTATION ?
27
STOCKAGE
Composants et flux
28
RDBMS
Log Data,
Event Data, Social
Media, etc.
Files
HDFS CLI
CARTOGRAPHIE HADOOP
29
DATA MANAGEMENT
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
DATA WORKFLOW MANAGEMENT
Oozie
EXEMPLE DE MISE EN ŒUVRE
¤  Client bancaire
¤  Stockage de données de marché
30
¤  50 To / an, redondance * 3(7200 trs/min)
¤  2 NameNodes : 1 proc, 32Go RAM, 6 * 2 To en RAID (HA)
¤  4 DataNodes : 1 proc, 32Go RAM, 12 * 4 To / serveurs
(7200 trs/min)
¤  Investissement : +/- 50’000 CHF (hardware)
>  Soit : +/- 1’000 CHF / To
TRAITEMENTS
LOURDS EN IO
ENJEUX
Distributed
Storage
Extreme
Transaction
Processing
Parallel
Programming
Event Stream
Processing
Exécuter un traitement sur des données volumineuses réparties sur un grand
nombre de serveurs (HDFS)
YOU
ARE
HERE
32
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
LA RÉPONSE HADOOP
33
cluster
0100011101
010101101
010001110101010
010001110
0100011
Architecture classique Architecture Hadoop
cluster Hadoop
Déplacer les traitements au plus près des données, plutôt que l’inverse
33
FONCTIONNEMENT DE MAPREDUCE
Hive – MR
SELECT a.state
JOIN (a, c)
SELECT c.price
SELECT b.id
JOIN(a, b)
GROUP BY a.state
COUNT(*)
AVERAGE(c.price)
M M M
R R
M M
R
M M
R
M M
R
HDFS
HDFS
HDFS
SELECT a.state, COUNT(*), AVERAGE(c.price)
FROM a
JOIN b ON (a.id = b.id)
JOIN c ON (a.itemId = c.itemId)
GROUP BY a.state
34
DÉPASSER MAPREDUCE [1/4]
¤  MapReduce, le modèle de programmation à l’origine d’Hadoop, s’avère
contraignant et sous-optimisé pour certains types de traitements
Map Reduce
Map Reduce
Map Reduce
Traitement unique
4 phases d’I/O
Traitement itératif
N x 4 phases d’I/O
35
DÉPASSER MAPREDUCE [2/4]
Dans	le	contexte	d’Hadoop	1,	
MapReduce	joue	le	rôle	de…	
A:	Algorithme	distribué	
B:	Framework	de	dév.	
C:	Plateforme	de	distribuJon	
D:	La	réponse	D	
36
DÉPASSER MAPREDUCE [2/4]
Dans	le	contexte	d’Hadoop	1,	
MapReduce	joue	le	rôle	de…	
A:	Algorithme	distribué	
B:	Framework	de	dév.	
C:	Plateforme	de	distribuJon	
D:	La	réponse	D	
37
DÉPASSER MAPREDUCE [3/4]
Hadoop 1.x
HDFS	
(redundant,	reliable	storage)	
MapReduce	
(cluster	resource	management	
	&	data	processing)	
Batch Apps
HDFS	
(redundant,	reliable	storage)	
YARN	
(cluster	resource	management)	
MapReduce	
(data	processing)	
Others	
(data	processing)	
Hadoop 2.x
Tez	
(data	processing)	
Batch, Interactive, Streaming, etc.
38
DÉPASSER MAPREDUCE [4/4]
Fonctionnement de TEZ
Hive – MR
SELECT a.state
JOIN (a, c)
SELECT c.price
SELECT b.id
JOIN(a, b)
GROUP BY a.state
COUNT(*)
AVERAGE(c.price)
M M M
R R
M M
R
M M
R
M M
R
HDFS
HDFS
HDFS
SELECT a.state, COUNT(*), AVERAGE(c.price)
FROM a
JOIN b ON (a.id = b.id)
JOIN c ON (a.itemId = c.itemId)
GROUP BY a.state
M MM
R R
R
M M
R
R
SELECT a.state,
c.itemId
JOIN (a, c)
JOIN(a, b)
GROUP BY a.state
COUNT(*)
AVERAGE(c.price)
SELECT b.id
Tez avoids
unnecessary writing to
HDFS
Hive – Tez
39
CARTOGRAPHIE HADOOP
40
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Tez
DATA WORKFLOW MANAGEMENT
Oozie
MapReduceMapReduce
41
EXEMPLE :
NETTOYAGE ET
PRÉPARATION DES DONNÉES
LA RÉPONSE HADOOP
42
Files (Avro,…)
HBase HCatalog
ORC2
…
Pig
PIG : LA PROBLÉMATIQUE
43
CARTOGRAPHIE HADOOP
44
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Pig
Tez
DATA WORKFLOW MANAGEMENT
Oozie
MapReduceMapReduce
RETOUR D’EXPÉRIENCE 1
¤  Publigroupe
¤  Nettoyage des données : filtrage jointure,
dédoublonnage et dénormalisation
¤  1.9 milliards de print, 1.5 M clicks
45
¤  4 machines, 1 master + 3 data nodes
>  4 core / 8 threads, 32GoRAM
>  4 * 2 To JBOD
>  2 x 1Go réseau (1 patte interne, 1 patte externe)
¤  HDFS : 20 To
¤  Hébergeur : 420 CHF / mois
RETOURS D’EXPÉRIENCE 2
¤  Client Bancaire
¤  Calcul batch intensif en I/O
46
¤  10 machines virtuelles (2 + 8)
¤  Durée de calcul :
>  Avant : 23h (mainframe)
>  Après : 2h
EXEMPLE :
EXPLORATION
MODELISATION
PROBLÉMATIQUE ET RÉPONSE HADOOP
48
MLlib
Requêtage Prediction
Visualisation /
Modélisation
Classification ….
Machine LearningExploration
Extraction
CARTOGRAPHIE HADOOP
49
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
MLlib
GraphX
Pig Hive
Tez Tez
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce MapReduce
RETOUR D’EXPÉRIENCE
¤  Publigroupe
¤  Génération d’arbre de décision
50
¤  Hive : avg, min, max, etc.
¤  R : Analyse de données, sortie PDF
¤  Création d’un arbre de décision pour optimiser les
enchères sur les espaces publicitaires
ANALYSE DES STRATEGIES D’UNE CAMPAGNE
List of (strategies & exchange)
Low click-rate
High click-rate
Limited incertitude interval
Big incertitude interval
51
LE PRIX A-T-IL UN INFLUENCE SUR LE TAUX DE CLIC ?
52
●
●
●
●
● ●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ● ●
● ●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
● ● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ● ● ● ● ●
●
● ● ●
●
●
●
● ● ●
●
●
●
●
●
●
● ●
●
●
● ●
●
● ●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ● ●
●
0.0
0.2
0.4
0.6
0 10 20 30 40 50
rank
click_rate/avg_total_spend*1000
campaign_goal_type
●
●
●
●
cpa
cpc
reach
spend
Click rate per $ − all campaign
AUTRE CAS D’USAGE
¤  Banque d’investissement
¤  Contrôle de prises de positions hors normes
¤  ~ 100 millions de lignes à vérifier par jour
53
¤  Spark MLlib :
>  Calculs : régressions linéaire, statistiques
>  Classification : hors normes ou pas ?
¤  Réduire le nombre de contrôles non automatisés à 10 000
lignes par jours en première étape
EVENT PROCESSING
STREAMING
ENJEUX
Distributed
Storage
Extreme
Transaction
Processing
Parallel
Programming
Event
Stream
Processing
YOU ARE
HERE
55
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
ENJEUX
56
2 MODÈLES
57
Event
Microbatch
Streaming
CARTOGRAPHIE HADOOP
58
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Streaming
Pig Hive Storm
Tez SliderTez
DATA WORKFLOW MANAGEMENT
Oozie
MapReduceMapReduce Slider
RETOUR D’EXPÉRIENCE
¤  Transporteur
¤  Evénements de suivi de colis
¤  20 millions de messages par jour (180 Go / jour)
¤  200 à 4000 événements par seconde
59
¤  Génération d’alertes
¤  Statistiques « fil de l’eau »
¤  Et bien d’autres (analyses, simulations, etc.)
¤  Spark Streaming (entre autre) :
>  Calcul de l’état du colis
>  Détection d’anomalies / alertes
>  Filtrage / routage / enrichissement
>  Génération d’événements manquants
RETOUR D’EXPÉRIENCE
60
Evénements
Lectures
API
Traitements
Synchrone
HTTP/2.0 SOA IoT
API
Traitements
Synchrones
Tampon API
Traitements
Synchrone
Traitements
Asynchrones
Ecritures
Messages d’écritures
Mobile
HTML
Service WebHistorique
Streaming
Alertes
ENJEUX
Distributed
Storage
Extreme
Transaction
Processing
Parallel
Programming
Event
Stream
Processing
YOU
ARE
HERE
61
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
CARTOGRAPHIE HADOOP
62
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Pig Hive Storm
Tez SliderTez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce SliderMapReduce
AGENDA
63
HADOOP, qu'est-ce que c’est ?
Quelques cas d’usage
Industrialisation de la plateforme
INDUSTRIALISATION ?
Stockage élastique distribué
☆☆☆☆☆☆
Support de plusieurs workloads
☆☆☆☆☆☆
Partage des ressources
☆☆☆☆☆☆
Gouvernance des données
☆☆☆☆☆☆
Interopérabilité logicielle
☆☆☆☆☆☆
Exploitabilité
☆☆☆☆☆☆
Accumulation de grandes profondeurs
d’historique, données structurées, semi-
structurées et non structurées
TP, batch, interactif, analytique/machine
learning, temps réel (fast data)
Sécurité des données, gestion des
ressources de stockage et de calcul,
reporting analytique de l’usage
Catalogage des données,
traçabilité de la production des
datasets, gestion du cycle de vie
Support de SQL, connecteurs
xDBC, support natif par les
produits tiers (ETL, etc.)
Monitoring, outillage de la
configuration et des déploiements,
production de KPI, haute
disponibilité, PRA
64
LA MATURITÉ D’HADOOP (1/2)
Stockage élastique distribué
★★★★★★
Support de plusieurs workloads
★★★★★★
Partage des ressources
★★★★★★
Gouvernance des données
★★★★★★
Interopérabilité logicielle
★★★★★★
Exploitabilité
★★★★★★
Hadoop début 2013 …
65
LA MATURITÉ D’HADOOP (2/2)
Stockage élastique distribué
★★★★★★
Support de plusieurs workloads
★★★★★★
Partage des ressources
★★★★★★
Gouvernance des données
★★★★★★
Interopérabilité logicielle
★★★★★★
Exploitabilité
★★★★★★
… et Hadoop en 2016
Améliorations sur tous les fronts !
66
GOUVERNANCE : DES DONNÉES MIEUX MAÎTRISÉES
¤  Traçabilité de la production des datasets
¤  Gestion du cycle de vie des données
¤  Réplication de datasets sur site distant
67
CONNECTIVITÉ ET OUTILLAGE
68
SÉCURITÉ
Authentification forte des utilisateurs et services,
Intégration annuaire d’entreprise
Habilitations étendues (ACL) sur HDFS,
modèle de sécurité RBAC
Extension partielle des ACL aux
couches SQL et NoSQL
Chiffrement des flux
69
Sécuriser une plateforme Hadoop nécessite une forte expertise
Partage des ressources
EXPLOITATION
¤  La plupart des services sont aujourd’hui en haute disponibilité, et les rolling
upgrades permettent de migrer des gros clusters sans interruption
¤  La nécessité de reposer sur des standards d’exploitation (API REST, socles de
déploiement) a été bien comprise et la richesse des API augmente
¤  Les API de récupération de métriques, essentielles pour le reporting d’usage,
la refacturation ou le capacity planning apparaissent
70
EXPLOITATION
71
Collaboration
Déploiement Continu
Infrastructure As Code
VISION 360 DE LA PLATEFORME AVEC AMBARI / CLOUDERA
MANAGER
72
CARTOGRAPHIE HADOOP
73
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Pig Hive Storm
Tez SliderTez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce SliderMapReduce
Ambari
Cloudera
Manager
Falcon
Navigator
Sentry
Ranger
TAKE AWAY
ENJEUX
Distributed
Storage
Extreme
Transaction
Processing
Parallel
Programming
Event
Stream
Processing
Events
intensive
Transaction
intensive
Storage
intensive
Computation
intensive
YOU
ARE
HERE
75
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Pig Hive Storm
Tez SliderTez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
Ambari
Cloudera
Manager
Falcon
Navigator
Sentry
Ranger
MapReduce SliderMapReduce
UNE ARCHITECTURE ÉVOLUTIVE
76
Outils
Exécution
Stockage
API
API
EN SYNTHÈSE…
77
L’écosystème Hadoop a
rapidement évolué pour proposer
aujourd’hui une solution mature
Hadoop propose une solution
industrialisée : intégration au SI,
sécurité, gouvernance, déploiement,
etc.
Hadoop est prêt à répondre à vos
besoins. C’est une composante
inévitable de votre SI !
pkernevez@octo.com
Nov 8th 7 pm, Genève
“Banknote Recognition System”

(Machine Learning)
Nov 10th 6 pm, Genève
“Data Science & Machine Learning:

Explorer, Comprendre Et Prédire”
Demo on OCTO stand
Free Download
bit.ly/1KJVsD1
79
CARTOGRAPHIE HADOOP
80
YARN : Data Operating System
DATA MANAGEMENT
DATA ACCESS
1 ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
° ° ° ° ° ° ° ° ° °
°
°
N
HDFS
(Hadoop Distributed File System)
Flume Sqoop
Map
Reduce
Spark
Pig Hive Storm
Tez SliderTez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
Ambari
Cloudera
Manager
Falcon
Navigator
Sentry
Ranger
MapReduce SliderMapReduce

Contenu connexe

PPTX
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
PDF
Spark (v1.3) - Présentation (Français)
PDF
HADOOP + R
PDF
Hadoop and friends : introduction
PDF
BigData_TP3 : Spark
PDF
Spark - Alexis Seigneurin (Français)
PPTX
spark_intro_1208
PDF
Spark, ou comment traiter des données à la vitesse de l'éclair
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Spark (v1.3) - Présentation (Français)
HADOOP + R
Hadoop and friends : introduction
BigData_TP3 : Spark
Spark - Alexis Seigneurin (Français)
spark_intro_1208
Spark, ou comment traiter des données à la vitesse de l'éclair

Tendances (20)

PDF
Big Data, Hadoop & Spark
PDF
Tech day hadoop, Spark
PPTX
MapReduce: Traitement de données distribué à grande échelle simplifié
PPTX
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
PDF
Spark - Ippevent 19-02-2015
PDF
Introduction spark
PDF
Spark une alternative à Hadoop MapReduce pour le Datamining
PPTX
Hadoop Graph Analysis par Thomas Vial
PPTX
Hadoop et son écosystème
PDF
BigData_TP1: Initiation à Hadoop et Map-Reduce
PDF
Hadoop
PDF
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
PDF
Annexe Big Data
PPTX
Spark Streaming
PDF
Hadoop Hbase - Introduction
PDF
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
PDF
Une introduction à Hive
PDF
Base de données graphe, Noe4j concepts et mise en oeuvre
PDF
Hortonwork
PDF
Cours Big Data Chap6
Big Data, Hadoop & Spark
Tech day hadoop, Spark
MapReduce: Traitement de données distribué à grande échelle simplifié
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Spark - Ippevent 19-02-2015
Introduction spark
Spark une alternative à Hadoop MapReduce pour le Datamining
Hadoop Graph Analysis par Thomas Vial
Hadoop et son écosystème
BigData_TP1: Initiation à Hadoop et Map-Reduce
Hadoop
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Annexe Big Data
Spark Streaming
Hadoop Hbase - Introduction
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Une introduction à Hive
Base de données graphe, Noe4j concepts et mise en oeuvre
Hortonwork
Cours Big Data Chap6
Publicité

Similaire à Plongée dans la plateforme hadoop (20)

PDF
Afterwork hadoop
PPTX
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
PPTX
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
PDF
ch2-hadoop-L3-2023-4p (1).pdf
PDF
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
PDF
Distributed programing (hadoop && java) version finale.pptx
PDF
Gtug nantes big table et nosql
PDF
GTUG Nantes (Dec 2011) - BigTable et NoSQL
PPTX
Hadoop
PPTX
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
PDF
Chapitre 2 hadoop
PPTX
Présentation Big Data et REX Hadoop
PDF
Techday Arrow Group: Hadoop & le Big Data
PDF
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
PPTX
10 big data hadoop
PPTX
10 big data hadoop
PDF
Hadoop MapReduce - OSDC FR 2009
PPTX
Présentation_HADOOP.pptx
PDF
598262625-Presentation-D-HADOooooooOP.pdf
PPTX
Chapitre2_Hadoop_MapReduce----------------.pptx
Afterwork hadoop
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
ch2-hadoop-L3-2023-4p (1).pdf
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
Distributed programing (hadoop && java) version finale.pptx
Gtug nantes big table et nosql
GTUG Nantes (Dec 2011) - BigTable et NoSQL
Hadoop
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Chapitre 2 hadoop
Présentation Big Data et REX Hadoop
Techday Arrow Group: Hadoop & le Big Data
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
10 big data hadoop
10 big data hadoop
Hadoop MapReduce - OSDC FR 2009
Présentation_HADOOP.pptx
598262625-Presentation-D-HADOooooooOP.pdf
Chapitre2_Hadoop_MapReduce----------------.pptx
Publicité

Plus de pkernevez (6)

PDF
Perf ug comment ne plus rajouter de ram a vos jvm sans savoir pourquoi
PDF
Softshake 2015 - test driven map reduce development with crunch
PDF
Softshake 2015 Comment ne plus rajouter de ram a vos jvm sans savoir pourquoi
PDF
Université de la performance
PDF
REX Hadoop et R
PDF
Quicky
Perf ug comment ne plus rajouter de ram a vos jvm sans savoir pourquoi
Softshake 2015 - test driven map reduce development with crunch
Softshake 2015 Comment ne plus rajouter de ram a vos jvm sans savoir pourquoi
Université de la performance
REX Hadoop et R
Quicky

Plongée dans la plateforme hadoop

  • 2. AGENDA 2 HADOOP, qu’est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme
  • 3. AGENDA 3 HADOOP, qu’est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme
  • 5. HADOOP ? 5 Ecosystème Open source Stocker et traiter de larges jeux de données Scalable Sur des serveurs de type “commodity hardware” Tolérant aux pannes
  • 6. HISTORIQUE 6 2003 2004 2005 2006 2007 2008 2009 2012 2013 2014 2016 109 searches 106 web pages 1000 nodes @ Yahoo! ✔ 4000 nodes ✔ Hadoop sorted 1 Po in 17h 109 searches 106 web pages ✔
  • 7. « Vanilla » IT Relational DB, Application server, ETL, ESB, BPM Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing 10 To online 3,000 TPS 10 threads/core3,000 events/sec Events intensive Transaction intensive Storage intensive Computation intensive LES LIMITES DES OUTILS TRADITIONNELS* * Il ne s’agit pas de limites absolues, mais d’ordres de grandeur à partir desquels les coûts de mise en œuvre explosent (hardware spécialisé, expertise, etc.) 7
  • 8. LES LIMITES DES OUTILS TRADITIONNELS Events intensive Transaction intensive Storage intensive Computation intensive NoSQL CEP, ESP In-memory Grid, GPU 8
  • 9. HADOOP : VOLUME, VÉLOCITÉ MAIS AUSSI VARIÉTÉ 9 VVolume V Variety VVelocity Structured Data Unstructured Data Semi-Structured Data
  • 10. HADOOP : DES DISTRIBUTIONS [1/2] ¤  Pourquoi une distribution ? >  Une installation pour avoir la plupart des outils d’Hadoop >  Combinaison de versions compatibles 10
  • 11. DIVERSITÉ DE L’ÉCOSYSTÈME 11 ¤  Chaque composant est un projet indépendant (cycle de vie, équipe, etc.)
  • 12. MATURITÉ 12 ¤  Hadoop est un écosystème en pleine évolution : >  Les principaux composants sont matures >  D’autres sont encore jeunes
  • 13. HADOOP : DES DISTRIBUTIONS [1/2] ¤  Pourquoi une distribution ? >  Une installation pour avoir la plupart des outils d’Hadoop >  Combinaison de versions compatibles >  Upgrade >  Support éditeur ¤  Trois distributeurs majeurs : >  HortonWorks >  Cloudera >  MapR ¤  Les éditeurs traditionnels sont des suiveurs sur Hadoop >  Teradata, Oracle, Microsoft, IBM, etc. >  Certains s’appuient sur une des 3 distributions majeures 13
  • 14. HADOOP : DES DISTRIBUTIONS [2/2] 14 400 KLOC 200 KLOC 0
  • 15. AGENDA 15 HADOOP, qu'est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme
  • 20. LA RÉPONSE HADOOP - HDFS 20 DATA MANAGEMENT 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Hadoop repose sur HDFS, un système de fichiers distribués hautement disponible
  • 21. LA RÉPONSE HADOOP - HDFS 21 ~ 3’000 CHF / To 2014
  • 22. APPEND ONLY - WRITE ONCE READ MANY
  • 23. UNIX “LIKE” ¤  HDFS supporte des commandes similaires aux systèmes de fichiers sur Linux : >  Ajout, lecture et suppression de fichiers >  Créer, lister et supprimer des répertoires >  Gérer les permissions et propriétés des fichiers et des répertoires 23
  • 24. HDFS A Fichier B C D E F G Le fichier est découpé en blocs NameNodes DataNodes Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas epalatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus. puis réparti sur les nœuds 24
  • 25. DISTRIBUTION DES DONNÉES ET FAILOVER A B C D E F G A G B C D E F Et répliqué (par default x3, ici x2) DataNodes 25
  • 26. DISTRIBUTION DES DONNÉES ET FAILOVER A B C D E F G AG B C D E F ! AG E Les blocks A, E, G sont maintenant sous-répliqués Il sont alors répliqués sur d’autres nœuds DataNodes 26
  • 28. STOCKAGE Composants et flux 28 RDBMS Log Data, Event Data, Social Media, etc. Files HDFS CLI
  • 29. CARTOGRAPHIE HADOOP 29 DATA MANAGEMENT 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop DATA WORKFLOW MANAGEMENT Oozie
  • 30. EXEMPLE DE MISE EN ŒUVRE ¤  Client bancaire ¤  Stockage de données de marché 30 ¤  50 To / an, redondance * 3(7200 trs/min) ¤  2 NameNodes : 1 proc, 32Go RAM, 6 * 2 To en RAID (HA) ¤  4 DataNodes : 1 proc, 32Go RAM, 12 * 4 To / serveurs (7200 trs/min) ¤  Investissement : +/- 50’000 CHF (hardware) >  Soit : +/- 1’000 CHF / To
  • 32. ENJEUX Distributed Storage Extreme Transaction Processing Parallel Programming Event Stream Processing Exécuter un traitement sur des données volumineuses réparties sur un grand nombre de serveurs (HDFS) YOU ARE HERE 32 Events intensive Transaction intensive Storage intensive Computation intensive
  • 33. LA RÉPONSE HADOOP 33 cluster 0100011101 010101101 010001110101010 010001110 0100011 Architecture classique Architecture Hadoop cluster Hadoop Déplacer les traitements au plus près des données, plutôt que l’inverse 33
  • 34. FONCTIONNEMENT DE MAPREDUCE Hive – MR SELECT a.state JOIN (a, c) SELECT c.price SELECT b.id JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) M M M R R M M R M M R M M R HDFS HDFS HDFS SELECT a.state, COUNT(*), AVERAGE(c.price) FROM a JOIN b ON (a.id = b.id) JOIN c ON (a.itemId = c.itemId) GROUP BY a.state 34
  • 35. DÉPASSER MAPREDUCE [1/4] ¤  MapReduce, le modèle de programmation à l’origine d’Hadoop, s’avère contraignant et sous-optimisé pour certains types de traitements Map Reduce Map Reduce Map Reduce Traitement unique 4 phases d’I/O Traitement itératif N x 4 phases d’I/O 35
  • 38. DÉPASSER MAPREDUCE [3/4] Hadoop 1.x HDFS (redundant, reliable storage) MapReduce (cluster resource management & data processing) Batch Apps HDFS (redundant, reliable storage) YARN (cluster resource management) MapReduce (data processing) Others (data processing) Hadoop 2.x Tez (data processing) Batch, Interactive, Streaming, etc. 38
  • 39. DÉPASSER MAPREDUCE [4/4] Fonctionnement de TEZ Hive – MR SELECT a.state JOIN (a, c) SELECT c.price SELECT b.id JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) M M M R R M M R M M R M M R HDFS HDFS HDFS SELECT a.state, COUNT(*), AVERAGE(c.price) FROM a JOIN b ON (a.id = b.id) JOIN c ON (a.itemId = c.itemId) GROUP BY a.state M MM R R R M M R R SELECT a.state, c.itemId JOIN (a, c) JOIN(a, b) GROUP BY a.state COUNT(*) AVERAGE(c.price) SELECT b.id Tez avoids unnecessary writing to HDFS Hive – Tez 39
  • 40. CARTOGRAPHIE HADOOP 40 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Tez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce
  • 42. LA RÉPONSE HADOOP 42 Files (Avro,…) HBase HCatalog ORC2 … Pig
  • 43. PIG : LA PROBLÉMATIQUE 43
  • 44. CARTOGRAPHIE HADOOP 44 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Tez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce
  • 45. RETOUR D’EXPÉRIENCE 1 ¤  Publigroupe ¤  Nettoyage des données : filtrage jointure, dédoublonnage et dénormalisation ¤  1.9 milliards de print, 1.5 M clicks 45 ¤  4 machines, 1 master + 3 data nodes >  4 core / 8 threads, 32GoRAM >  4 * 2 To JBOD >  2 x 1Go réseau (1 patte interne, 1 patte externe) ¤  HDFS : 20 To ¤  Hébergeur : 420 CHF / mois
  • 46. RETOURS D’EXPÉRIENCE 2 ¤  Client Bancaire ¤  Calcul batch intensif en I/O 46 ¤  10 machines virtuelles (2 + 8) ¤  Durée de calcul : >  Avant : 23h (mainframe) >  Après : 2h
  • 48. PROBLÉMATIQUE ET RÉPONSE HADOOP 48 MLlib Requêtage Prediction Visualisation / Modélisation Classification …. Machine LearningExploration Extraction
  • 49. CARTOGRAPHIE HADOOP 49 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark MLlib GraphX Pig Hive Tez Tez DATA WORKFLOW MANAGEMENT Oozie MapReduce MapReduce
  • 50. RETOUR D’EXPÉRIENCE ¤  Publigroupe ¤  Génération d’arbre de décision 50 ¤  Hive : avg, min, max, etc. ¤  R : Analyse de données, sortie PDF ¤  Création d’un arbre de décision pour optimiser les enchères sur les espaces publicitaires
  • 51. ANALYSE DES STRATEGIES D’UNE CAMPAGNE List of (strategies & exchange) Low click-rate High click-rate Limited incertitude interval Big incertitude interval 51
  • 52. LE PRIX A-T-IL UN INFLUENCE SUR LE TAUX DE CLIC ? 52 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0.0 0.2 0.4 0.6 0 10 20 30 40 50 rank click_rate/avg_total_spend*1000 campaign_goal_type ● ● ● ● cpa cpc reach spend Click rate per $ − all campaign
  • 53. AUTRE CAS D’USAGE ¤  Banque d’investissement ¤  Contrôle de prises de positions hors normes ¤  ~ 100 millions de lignes à vérifier par jour 53 ¤  Spark MLlib : >  Calculs : régressions linéaire, statistiques >  Classification : hors normes ou pas ? ¤  Réduire le nombre de contrôles non automatisés à 10 000 lignes par jours en première étape
  • 58. CARTOGRAPHIE HADOOP 58 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Streaming Pig Hive Storm Tez SliderTez DATA WORKFLOW MANAGEMENT Oozie MapReduceMapReduce Slider
  • 59. RETOUR D’EXPÉRIENCE ¤  Transporteur ¤  Evénements de suivi de colis ¤  20 millions de messages par jour (180 Go / jour) ¤  200 à 4000 événements par seconde 59 ¤  Génération d’alertes ¤  Statistiques « fil de l’eau » ¤  Et bien d’autres (analyses, simulations, etc.) ¤  Spark Streaming (entre autre) : >  Calcul de l’état du colis >  Détection d’anomalies / alertes >  Filtrage / routage / enrichissement >  Génération d’événements manquants
  • 60. RETOUR D’EXPÉRIENCE 60 Evénements Lectures API Traitements Synchrone HTTP/2.0 SOA IoT API Traitements Synchrones Tampon API Traitements Synchrone Traitements Asynchrones Ecritures Messages d’écritures Mobile HTML Service WebHistorique Streaming Alertes
  • 62. CARTOGRAPHIE HADOOP 62 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie MapReduce SliderMapReduce
  • 63. AGENDA 63 HADOOP, qu'est-ce que c’est ? Quelques cas d’usage Industrialisation de la plateforme
  • 64. INDUSTRIALISATION ? Stockage élastique distribué ☆☆☆☆☆☆ Support de plusieurs workloads ☆☆☆☆☆☆ Partage des ressources ☆☆☆☆☆☆ Gouvernance des données ☆☆☆☆☆☆ Interopérabilité logicielle ☆☆☆☆☆☆ Exploitabilité ☆☆☆☆☆☆ Accumulation de grandes profondeurs d’historique, données structurées, semi- structurées et non structurées TP, batch, interactif, analytique/machine learning, temps réel (fast data) Sécurité des données, gestion des ressources de stockage et de calcul, reporting analytique de l’usage Catalogage des données, traçabilité de la production des datasets, gestion du cycle de vie Support de SQL, connecteurs xDBC, support natif par les produits tiers (ETL, etc.) Monitoring, outillage de la configuration et des déploiements, production de KPI, haute disponibilité, PRA 64
  • 65. LA MATURITÉ D’HADOOP (1/2) Stockage élastique distribué ★★★★★★ Support de plusieurs workloads ★★★★★★ Partage des ressources ★★★★★★ Gouvernance des données ★★★★★★ Interopérabilité logicielle ★★★★★★ Exploitabilité ★★★★★★ Hadoop début 2013 … 65
  • 66. LA MATURITÉ D’HADOOP (2/2) Stockage élastique distribué ★★★★★★ Support de plusieurs workloads ★★★★★★ Partage des ressources ★★★★★★ Gouvernance des données ★★★★★★ Interopérabilité logicielle ★★★★★★ Exploitabilité ★★★★★★ … et Hadoop en 2016 Améliorations sur tous les fronts ! 66
  • 67. GOUVERNANCE : DES DONNÉES MIEUX MAÎTRISÉES ¤  Traçabilité de la production des datasets ¤  Gestion du cycle de vie des données ¤  Réplication de datasets sur site distant 67
  • 69. SÉCURITÉ Authentification forte des utilisateurs et services, Intégration annuaire d’entreprise Habilitations étendues (ACL) sur HDFS, modèle de sécurité RBAC Extension partielle des ACL aux couches SQL et NoSQL Chiffrement des flux 69 Sécuriser une plateforme Hadoop nécessite une forte expertise Partage des ressources
  • 70. EXPLOITATION ¤  La plupart des services sont aujourd’hui en haute disponibilité, et les rolling upgrades permettent de migrer des gros clusters sans interruption ¤  La nécessité de reposer sur des standards d’exploitation (API REST, socles de déploiement) a été bien comprise et la richesse des API augmente ¤  Les API de récupération de métriques, essentielles pour le reporting d’usage, la refacturation ou le capacity planning apparaissent 70
  • 72. VISION 360 DE LA PLATEFORME AVEC AMBARI / CLOUDERA MANAGER 72
  • 73. CARTOGRAPHIE HADOOP 73 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie MapReduce SliderMapReduce Ambari Cloudera Manager Falcon Navigator Sentry Ranger
  • 76. YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie Ambari Cloudera Manager Falcon Navigator Sentry Ranger MapReduce SliderMapReduce UNE ARCHITECTURE ÉVOLUTIVE 76 Outils Exécution Stockage API API
  • 77. EN SYNTHÈSE… 77 L’écosystème Hadoop a rapidement évolué pour proposer aujourd’hui une solution mature Hadoop propose une solution industrialisée : intégration au SI, sécurité, gouvernance, déploiement, etc. Hadoop est prêt à répondre à vos besoins. C’est une composante inévitable de votre SI !
  • 78. [email protected] Nov 8th 7 pm, Genève “Banknote Recognition System”
 (Machine Learning) Nov 10th 6 pm, Genève “Data Science & Machine Learning:
 Explorer, Comprendre Et Prédire” Demo on OCTO stand Free Download bit.ly/1KJVsD1
  • 79. 79
  • 80. CARTOGRAPHIE HADOOP 80 YARN : Data Operating System DATA MANAGEMENT DATA ACCESS 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° N HDFS (Hadoop Distributed File System) Flume Sqoop Map Reduce Spark Pig Hive Storm Tez SliderTez HBase DATA WORKFLOW MANAGEMENT Oozie Ambari Cloudera Manager Falcon Navigator Sentry Ranger MapReduce SliderMapReduce