plongée dans la plateforme hadoop
TRANSCRIPT
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/core 3,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
V Volume
V Variety
V Velocity 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 ACCESS DATA 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
A G
B
C
D E
F
!A G
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
RDBMSLog 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
0100011101010101101 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]
Danslecontexted’Hadoop1,MapReducejouelerôlede…
A:Algorithmedistribué
B:Frameworkdedév.
C:PlateformededistribuJon
D:LaréponseD
36
DÉPASSER MAPREDUCE [2/4]
Danslecontexted’Hadoop1,MapReducejouelerôlede…
A:Algorithmedistribué
B:Frameworkdedév.
C:PlateformededistribuJon
D:LaréponseD
37
DÉPASSER MAPREDUCE [3/4]
Hadoop 1.x
HDFS(redundant,reliablestorage)
MapReduce(clusterresourcemanagement
&dataprocessing)
Batch Apps
HDFS(redundant,reliablestorage)
YARN(clusterresourcemanagement)
MapReduce(dataprocessing)
Others(dataprocessing)
Hadoop 2.x
Tez(dataprocessing)
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 M M
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
MapReduce MapReduce
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
MapReduce MapReduce
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 PredictionVisualisation / 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 50rank
clic
k_ra
te/a
vg_t
otal
_spe
nd *
1000
campaign_goal_type●
●
●
●
cpacpcreachspend
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 Slider Tez
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce MapReduce 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 Web
His
toriq
ue
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 Slider Tez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce Slider MapReduce
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 Slider Tez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
MapReduce Slider MapReduce 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 Slider Tez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
Ambari
Cloudera Manager
Falcon
Navigator
Sentry
Ranger
MapReduce Slider MapReduce
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 !
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 Slider Tez
HBase
DATA WORKFLOW MANAGEMENT
Oozie
Ambari
Cloudera Manager
Falcon
Navigator
Sentry
Ranger
MapReduce Slider MapReduce