Hadoop est devenu la plateforme de référence dans le monde Big Data.
Dans cette session, nous proposons un tour d’horizon de cet écosystème.
Nous vous présenterons les principaux composants de la plateforme, leurs fonctionnalités, leur maturité et les limites qu’ils permettent de dépasser.
Nous nous appuierons pour cela sur différents exemples de mise en œuvre afin d’illustrer la manière dont ils s’interconnectent pour former des solutions complètes de traitement des données.
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
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
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
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
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
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
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
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
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
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. 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