Introduction de mon cours sur Spark : pourquoi peut on parler de big data aujourd'hui alors qu'on ne pouvait pas il y a 15 ans ?
On y voit : prix des disques durs, loi d'Amdhal, map reduce, Hadoop, Spark...
Notre entreprise : https://www.memorandum.pro/
2. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Mémorandum en une slide
Mémorandum est un cabinet de conseil en data stratégie.
Nous intervenons sur trois axes :
1. Coaching d’organisation pour devenir data-driven
2. Analyse de données
3. Industrialisation de solutions informatiques
Nous apportons :
➔ Une méthodologie mélant stratégie et technique.
➔ Des preuves de concepts “machine learning” avec les outils en
pointe de la communauté open source
➔ Des méthodes agiles et de Lean Analytics qui garantissent des
résultats adaptés
Romain Jouin - Associé
INT Management 2006 - Télécom Paris 2013
7 ans de commercial
25 ans d’informatique
romain.jouin@memorandum.pro - 06 52 86 87 30
Denis Oblin - Associé
Centrale 1994 - Télécom Paris 2013
10 ans de conseil en stratégie
7 ans en direction opérationnelle Groupama
denis.oblin@memorandum.pro - 06 71 62 74 92
Mémorandum a trois expertises majeures :
➔ Technique
◆ Big Data
◆ Machine Learning
➔ Fonctionnelle
◆ Stratégie de la micro décision
◆ Marketing
➔ Métier
◆ Relation client
◆ Force de vente
3. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Présentation des intervenants
Romain Jouin 06 52 86 87 30 – romain.jouin@memorandum.pro
3
• Romain a une double culture :
• Informatique : développement logiciels
• Commerciale : chasse de clients et développement de portefeuille
− …
Compétences principales
Valorisation des données
• ….,
Montage projets de industriels big data (Institut Mines Telecom)
• ….
Expertise métier
…
Compétences sectorielles
Quelques références
Mastère
Big Data
Telecom
Paristech
2014
Formation
− …
Parcours
− ..
− Développement informatique : web, infrastructures,
Machine Learning (Python)
− Processus de vente : démarches commerciales,
processus d’élevage / chasse
Compétences principales
Valorisation des données
• Acteur de l’assurance: évaluation du risque de churn – 200
millions de lignes à analyser
• Acteurs de la santé : Prédiction de concentrations moléculaires
• Evolution de la satisfaction client : déceler les différences de
tendances dans un réseau de distribution
• Acteur de l’énergie : scrapping web et analyse de l’e-réputation
sur les forums Français
• Cabinet de conseil : Formation aux Big Data
• École d’ingénieur : Initiation aux technologies du Big Data et à la
Datavisualisation
Participation à l’écosystème Data sur Paris
• Animateur de groupes d’intérêts autour de la Data (plus de 2000
personnes à Paris). 15 événements organisés depuis Octobre 2014.
Expertise métier
Informatique
• Développement web full-stack Python & Jquery
• Gestion d’infrastructure Big Data : Hadoop / Spark / Mesos / Docker
Commerce
• Choix des marchés stratégiques - Plan d’attaques du marché
• Reporting (>15 Meur) - Prévision annuel du CA
• Chasse - Présentation clients - Ajustement des prix
• Gestion d’équipes de consultants
Compétences sectorielles
Quelques références
Mastère
Big Data
Telecom
Paristech
2014
INT école de
Management
2006
Formation
− 2 ans en tant que Freelance en
informatique (sites web, macros…)
− 3 ans en tant que Business
Developer de la branche Network
Integration Services chez Alactel-
Lucent Russie
− 2 ans de Chargé d’affaires chez
Toshiba Cloud Services France
Parcours
− Télécommunications / Cloud
− Web
4. 1. Pourquoi Spark ?
2. Installer un cluster Spark
3. Hadoop et HDFS
4. Spark Core (RDD)
5. Spark SQL
6. Spark ML
6.1. Introduction au ML
6.2. Spark ML - intro
6.3 Clustering
6.4 Régression
6.5 Classification
7. Spark Streaming
1. Concepts
2. Ecoute de socket
3. Opérations : StateLess / StateFull / Union
4. ML en temps réel
Spark - 4 jours d’introduction
Juin 2017
Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
8. Bonus :
1. Export dans Mongo
2. Aperçu de Flume
3. Aperçu de Kafka
4. Aperçu d’Hortonworks
9. Conclusion
4
6. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Cette année nous fêtons les 80 ans de l’informatique
1936 : Alan Turing
1968 : Intel
1972 : Internet
1977 : Oracle
1992 : Internet = 1 million de PCs
1995 : MySQL / PostGreSQL
1996 : Internet = 36 millions de PCs
2000 : Internet = 360 millions de Pcs
2007 : Iphone
2015 : 2 milliards de smartphones
2020 : 50 milliards d’objets connectés ? Linux
Vm Ware
Map Reduce
Dev - Ops
Docker
6
7. 7Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Où vont les données ? Sur des disques ! 7
http://www.mkomo.com/assets/hd-cost-graph-small.png
8. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
➢Les interfaces de connexion au disque dur:
• IDE-ATA : 133 Mo/s ( obsolète )
• SCSI : de 5 à 600 Mo/s ( intelligent, plus rapide, standardisé )
• S-ATA : de 150 à 600 Mo/s ( standard actuel )
➢Carte mères : 500 eur
• 2 x SATA3 6.0 Gb / s
• 8 x SAS2/SATA3 6.0 Gb / s
➢Taille des disques : 6 To – 300 euros
➢Configuration : 60 To max / 3500 euros
➢Temps de lecture :
• Théorique : 100 000 secondes / 27 heures
• Pratique : Deux ou trois fois plus lent : environ 3 jours
IDE-ATA
SCSI
S-ATA=> Combien de temps pour tout lire ?
La meilleure config sur Rue du Commerce : 60 To
8
9. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
IBM Benchmark ( 2011) : 480 disques !
9
10. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
IBM Benchmark ( 2011) : 480 disques !
10
11. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
IBM Benchmark ( 2011) : 480 disques !
480 disques de 146 Gb : 71 Tb
15 K RPM
14 Gb / s
5 000 secondes pour tout lire : 80 minutes !=> Combien de temps pour tout lire ?
=> A quel prix ?
11
12. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
MTBF : Mean Time Before Failure
100 disques | MTBF 5 ans = 20 pannes / an
Soit un disque à changer toutes les 2 semaines.
Risques :
1. Coût
2. Instabilité du système
3. Perte d’information !
Hadoop résout le MTBF en déduplicant la donnée :
replication factor = 3
Si un disque tombe en panne, on retrouve
l’information sur un des deux autres disques.
12
13. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
MTBF : Transformer un problème en atout
Lent (dédié au mode “batch”)
Pas cher
(12 Keur/machine)
mais redondant !
Rapide
Map (Sort) Reduce
mais complexe !
13
15. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Des sources de plus en plus diverses
15
16. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
La fin d’un monde
1950 - 2009 2015
JSON
16
17. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
La fin d’un monde
1950 – 2009
Systèmes de gestion de bases de données
2015
Système de fichier distribué
Logiciel Vs OS
Contrainte = nom de fichier unique et
formatage, type d’enregistrement Vs
logique de la donnée
JSON
Hadoop Sequence File
Problèmes de scalabilité horizontale
Limites liées à l’OS
Fortes contraintes de données
100 G en csv => 10 G en parquet
23. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Loi d’Amdhal :
Soit un programme :
• P = % possible en parallèle sans synchronisation (dans [ 0, 1[ )
• N = nombre de processeurs
• 1 = durée nécessaire pour effectuer l’algorithme avec un processeur
Gain possible en temps :
• Gain sur P = P/N < P < 1
• Partie sur laquelle on ne peut rien gagner : 1 – P < 1
• Durée nécessaire : (1-P) + P/N <1
• Accélération possible : 1 / Durée nécessaire > 1
• Exemples :
• 95% parallélisable : P = 0.95
• 100 processeurs : N = 100
• Accélération = 1 / ( 0.05 + 0.95/100) = 16,8 fois plus rapide
• Avec 50 processeurs : 1 / (0.05 + 0.95/10) = 14,5 fois plus rapide
Coordination complexe
Dans les systèmes parallèles
23
24. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Jusqu’en 2004 la solution était d’acheter un ordinateur « plus gros »
En 2004 Google propose
d’utiliser plusieurs ordinateurs
25. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
MTBF : Transformer un problème en atout
Lent (dédié au mode “batch”)
Pas cher
(12 Keur/machine)
mais redondant !
Rapide
Map (Sort) Reduce
mais complexe !
25
26. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
@IP 1 @IP 4@IP 2 @IP 3
26
HDFS : distribuer le stockage
Un
Un, deux,
Un, deux, trois
Un, deux, trois, quatre Un, deux,
Un, deux, trois, quatre
UnB1
B2
Un, deux, troisB3
B4
Un, deux, trois, quatreB4Un, deux, trois, quatreB4
Un, deux, troisB3 Un, deux, troisB3
Un, deux,B2 Un, deux,B2
Un, deux, troisB3
Un, deux, trois, quatreB4
Un, deux,B2
UnB1 UnB1 UnB1
@IP 1
@IP 1
@IP 1
@IP 2
@IP 2 @IP 3
@IP 3
@IP 4
@IP 4
@IP 2 @IP 3 @IP 4
FS Image
28. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Map
Pour chaque mot du fichier,
renvoyer le mot associé à la
valeur 1
Mode « clef :valeur »
Clef = un mot
Valeur = 1
Nombre de « clef:valeur » =
Nombre de mots dans le
fichier
Compter le nombre d’occurrences
des mots dans un fichier en Map reduce
28
(Sort)
Regrouper ensemble les
paires « clef : valeur » qui ont
la même clef
Faire une liste par clef
Nombre de liste = nombre de
mot différent dans le fichier
Reduce
Pour chaque liste, additionner
toutes les valeurs
29. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Ordinateur
OrdinateurOrdinateur Ordinateur Ordinateur
worker
Un
Un, deux,
Un, deux, trois
Un, deux, trois, quatre
workerworker
map map map map
master
worker
sort reduce
{
« un » : 1
}
{
« un » : 1
« deux » : 1
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1 ,
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1 ,
« quatre » : 1 ,
}
Compter le nombre d’occurrence
Des mots dans un fichier en Map reduce
29
30. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Ordinateur
OrdinateurOrdinateur Ordinateur Ordinateur
worker
Un
Un, deux,
Un, deux, trois
Un, deux, trois, quatre
workerworker
map map map map
master
worker
sort reduce
{
« un » : 1
}
{
« un » : 1,
« deux » : 1
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1 ,
« quatre » : 1
}
{ « un » : 1 , « un » : 1 , « un » : 1 , « un » : 1 }
{ « deux » : 1 , « deux » : 1 , « deux » : 1 }
{ « trois » : 1 , « trois » : 1}
{ « quatre » : 1}
30
Compter le nombre d’occurrence
Des mots dans un fichier en Map reduce
31. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Ordinateur
OrdinateurOrdinateur Ordinateur Ordinateur
worker
Un
Un, deux,
Un, deux, trois
Un, deux, trois, quatre
workerworker
map map map map
master
worker
sort
For each key,
sum of
attached
values
{
« un » : 1
}
{
« un » : 1,
« deux » : 1
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1
}
{
« un » : 1 ,
« deux » : 1 ,
« trois » : 1 ,
« quatre » : 1
}
{ « un » : 1 , « un » : 1 , « un » : 1 , « un » : 1 }
{ « deux » : 1 , « deux » : 1 , « deux » : 1 }
{ « trois » : 1 , « trois » : 1}
{ « quatre » : 1}
{ « un » : 4 }
{ « deux » :3 }
{ « trois » : 2}
{ « quatre » : 1}
31
Compter le nombre d’occurrence
Des mots dans un fichier en Map reduce
33. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Une histoire très rapide
33
34. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
HADOOP 1.0
34
35. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
HADOOP 2.0
35
Modèle en couche pour découpler l’accès
au ressource de l’éxécution du calcul lui
même
Outil de stockage
(celui que vous utilisez chez IBM ?)
Début du streaming
36. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
36
Hadoop désigne autant un outil qu’un Eco-Système
37. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Spark unifie les différentes briques software de l’écosystème hadoop
Spark ML Lib
Spark Graph X
Core Spark
RDD
Java
Scala
Python
R
Spark SQL
Spark
Standalone
37
38. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Hadoop est en train de disparaître, au profit de Spark
38
39. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Support matters
La RAM est jusqu’à 70 fois plus rapide que le disque en écriture
et 50 fois en lecture
39
40. Copyright Mémorandum - Confidentiel - Toute reproduction interdite sans autorisation
Support matters
x 388
x 777
x 1314
40