SlideShare une entreprise Scribd logo
1  sur  134
Télécharger pour lire hors ligne
Matinale Big Data
Spark et Machine Learning
Zenika Lyon, le 25/05/16
Hervé RIVIERE
Développeur Big Data / NoSQL
Formateur Couchbase
Fabrice SZNAJDERMAN
Développeur Java / Scala / Web
Formateur Java / Scala
Co-organisateur du ScalaIO 2016 (Lyon le 27 – 28
octobre)
Big Data : Spark + Machine Learning
Sommaire
Big Data : Panorama 2016 (15 ’)1
2 Présentation d’Apache Spark et
Apache Zeppelin (45’)
4 Démystifions le Machine Learning (45’)
3 Pause (30’)
Panorama
2016 du Big Data
Big Data ?
De 2014 à 2017….
2014
• POC / expérimentation
• Usage analytique
• Hadoop Map-Reduce / HDFS / Pig / Hive / HBase / Storm ….
2015
• Industrialisation Data-Lake / Création Plateforme Big Data analytique
• POC streaming / Plateforme Big Data opérationnelle
• Spark / Cassandra / HDFS /Kafka / Storm / Samza / Mesos
2016
• Industrialisation Streaming / Plateforme Big Data opérationnelle
• Expérimentation/ POC Big Data Prédictif / Machine Learning
• Kafka / Spark / Flink / HDFS / Notebook web / Cassandra / Mesos….
2017
• Industrialisation Big Data Prédictif / Machine Learning ? Internet of Things ?
• Kafka stream ? / Kudu ? /Spark 2.0 ? / Flink ? ….
Le Big Data pour quoi faire ?
• Informatique décisionnelle : Statistiques descriptives sur
des données à forte densité en information
Exemple : Données CRM dans une BDD
• Big Data : Données à faible densité d’informations mais
dont l’important volume permet d’en déduire des lois /
règles  Statistiques inférentielles
Exemple : Données issues de capteurs dans un Data Lake
• Fast Data : Transformer en temps réel la données à la place
de traitements quotidiens / hebdomadaires / mensuels
Exemple : Données issues d’un site web dans des topic
Kafka
Exemple de projets
• Vision clients 360° (Banque / Distribution / Service…)
o Réagir lors de certains évènements cross-canaux
o Recommandation
o Analyse ad-hoc spécifique métier (marketing, fraude…)
• Analyse de données logs/capteurs (Industrie, Services,
IT…)
• Automatiser une surveillance humaine
• Analyser puis optimiser
• Soulager des outils décisionnels par des technologies Big
Data
• Pour la scalabilité
• Pour de nouvelles possibilités (temps réel, schéma plus
flexible, vitesse ….)
Nos interventions
Architecture
Big Data Industrialisations
développements
POC Java / Scala
Dataviz
Formations
Industrialisation
algorithmes
machine learning
NoSQL
Expertise
technique
Ateliers
innovations
Outils
et
architectures
Streaming
Query/SQL
ETL
Machine Learning
Search Engine
Scheduler
Service Discovery
Resource Manager
Kafka NiFi Flink StormZookeeper Spark Yarn
Mesos
File System
OLAP
Columns
Document
Key-Value
Graph
In-memory/Cache
Time-Series
CassandraMongoDB
Neo4j
Titan Couchbase Druid InfluxDB
Hazelcast
Redis
Aerospike Kylin
SolR
ElasticSearch
MahoutTez, Slider
Oozie
Hive,
Impala, Hawq
Drill
Pig
MR
FrameworksStorage/NoSQL
HbaseHDFS
Architectures Big Data
Couche temps réel / Opérationnelle
Couche batch / analytique
Requêtes
Requêtes
Données
Données
Données
Données
Analytique
De 3 à 300 nœuds !
Stocker / traiter un (très) important volume de données (Tera octets…) à intervalle
régulier
Système analytique et non opérationnel !
Stockage
Outil couramment utilisé
En complément ou alternative
Exécution Outil couramment utilisé
En complément ou alternative
Scheduler
• NiFi
• Oozie
Notebook web
• Zeppelin
• Jupyter
data-minning / Machine learning
• R / Python
• Mahout / H2O
• Dataiku
I/O
• Sqoop
- Kafka
Ressource negociator
• YARN
• Mesos
Opérationnelle
De 3 à 300 nœuds !
Traiter un important volume de données en temps réel
Système opérationnel et non analytique !
Stockage
Outil couramment utilisé
En complément ou alternative
Exécution
Outil couramment utilisé
En complément ou alternative
Schema registry
• Avro
API I/O
• Akka
• Spring
• Play…
Ressource negociator
• Yarn
• Mesos
SMACK
Nos
partenaires
Nos partenaires conseil et
formation
NoSQL
Langages &
Ecosystème Big Data
Intégration &
continuous delivery
Spark &
Zeppelin
Matinale Spark et ML
25/05/16
Fabrice Sznajderman
Agenda
●Apache Spark
●Apache Zeppelin
Introduction
Spark
Introduction
Big picture
Spark introduction
What is it about?
●A cluster computing framework
●Open source
●Written in Scala
History
2009 : Project start at MIT research lab
2010 : Project open-sourced
2013 : Become a Apache project and creation of the
Databricks company
2014 : Become a top level Apache project and the most active
project in the Apache fundation (500+ contributors)
2014 : Release of Spark 1.0, 1.1 and 1.2
2015 : Release of Spark 1.3, 1.4, 1.5 and 1.6
2015 : IBM, SAP… investment in Spark
2015 : 2000 registration in Spark Summit SF, 1000 in Spark
Summit Amsterdam
2016 : new Spark Summit in San Francisco in June 2016
Where spark is used?
Source : http://cdn2.hubspot.net/hubfs/438089/DataBricks_Surveys_-_Content/Spark-Survey-2015-
Infographic.pdf?t=1443057549926
The results reflect the answers and opinions of over 1,417 respondents representing over 842
organizations.
Which kind of using?
Source : http://cdn2.hubspot.net/hubfs/438089/DataBricks_Surveys_-_Content/Spark-Survey-2015-
Infographic.pdf?t=1443057549926
Multi-languages
Source : http://cdn2.hubspot.net/hubfs/438089/DataBricks_Surveys_-_Content/Spark-Survey-2015-
Infographic.pdf?t=1443057549926
Spark Shell
●REPL
●Learn API
●Interactive Analysis
RDD
Core concept
Definition
●Resilient
●Distributed
●Datasets
Properties
●Immutable
●Serializable
●Can be persist in RAM and / or
disk
●Simple or complexe type
Use as a collection
●DSL
●Monadic type
●Several operators
–map, filter, count, distinct, flatmap, ...
–join, groupBy, union, ...
●A collection (List, Set)
●Various formats of file
–json, text, Hadoop SequenceFile, ...
●Various database
–JDBC, Cassandra, ...
●Others RDD
Created from
Sources must be natively distributed (hdfs, cassandra,..), if
not network become bottleneck
Sample
val conf = new SparkConf()
.setAppName("sample")
.setMaster("local")
val sc = new SparkContext(conf)
val rdd = sc.textFile("data.csv")
val nb = rdd.map(s => s.length).filter(i => i> 10).count()
Lazy-evaluation
●Intermediate operators
–map, filter, distinct, flatmap, …
●final operators
–count, mean, fold, first, ...
val nb = rdd.map(s => s.length).filter(i => i> 10).count()
Caching
●Reused an intermediate result
●Cache operator
●Avoid re-computing
val r = rdd.map(s => s.length).cache()
val nb = r.filter(i => i> 10).count()
val sum = r.filter(i => i> 10).sum()
Distributed
Architecture
Core concept
Run locally
val master = "local"
val master = "local[*]"
val master = "local[4]"
val conf = new SparkConf().setAppName("sample")
.setMaster(master)
val sc = new SparkContext(conf)
Run on cluster
val master = "spark://..."
val conf = new SparkConf().setAppName("sample")
.setMaster(master)
val sc = new SparkContext(conf)
Cluster
Spark
Master
Spark
Slave
Spark
Slave
Spark
Slave
E
E E
E
E
E
Spark
client
Spark
client
Spark
client
Modules
Core concept
Composed by
Spark Core
Spark
Streaming
MLlib GraphX
Spark
SQL
ML PipelineDataFrames
Several data sources
Statistics of using
Several data sources
http://prog3.com/article/2015-06-18/2824958
Spark SQL
Spark SQL
●Structured data processing
●SQL Language
●DataFrame
DataFrame 1/3
●A distributed collection of rows
organized into named columns
●An abstraction for selecting,
filtering, aggregating and
plotting structured data
●Provide a schema
●Not a RDD replacement
What?
DataFrame 1/3
●RDD more efficient than before
(Hadoop)
●But RDD is still too complicated
for common tasks
●DataFrame is more simple and
faster
Why?
DataFrame 2/3
Optimized
DataFrame 3/3
●From Spark 1.3
● DataFrame API is just an
interface
–Implementation is done one time in
Spark engine
–All languages take benefits of
optimization with out rewriting
anything
How ?
Spark Streaming
Spark Streaming
●Framework over RDD and
Dataframe API
●Real-time data processing
●RDD is DStream here
●Same as before but dataset is
not static
Spark Streaming
Internal flow
http://spark.apache.org/docs/latest/img/streaming-flow.png
Spark Streaming
Inputs / Ouputs
http://spark.apache.org/docs/latest/img/streaming-arch.png
Spark MLlib
Spark MLlib
●Make pratical machine learning
scalable and easy
●Provide commons learning
algorithms & utilities
Spark MLlib
●Divides into 2 packages
– spark.mllib
– spark.ml
Spark MLlib
●Original API based on RDD
●Each model has its own
interface
spark.mllib
Spark MLlib
●Provides uniform set of high-
level APIs
●Based on top of Dataframe
●Pipeline concepts
–Transformer
–Estimator
–Pipeline
spark.ml
Spark MLlib
spark.ml
●Transformer : transform(DF)
–map a dataFrame by adding new
column
–predict the label and adding result in
new column
●Estimator : fit(DF)
–learning algorithm
–produces a model from dataFrame
Spark MLlib
spark.ml
●Pipeline
–sequence of stages (transformer or
estimator)
–specific order
Spark 2.0
Spark 2.0
●Easier
●Faster
●Smarter
3 axis
Spark 2.0
●Unifying DataFrames and Datasets in
Scala/Java
●SparkSession (replace SQLContext &
HiveContext)
●Simpler, more performant
Accumulator API
●spark.ml package emerges as the primary
ML API
Easier
Spark 2.0
According to our 2015 Spark Survey, 91%
of users consider performance as the most
important aspect of Spark.
l
Faster
Spark 2.0
Faster
●The second generation of Tungsten engine
●Builds upon ideas from
– Modern compilers
– Massively Parallel Processing Database (MPP)
●Spark SQL’s Catalyst Optimizer improvement
Spark 2.0
Faster
Spark 2.0
●Structured Streaming API
●Based on Catalyst optimizer
●Unifying DataFrames and Datasets
Smarter
Spark 2.0
This technical preview version is now
available on Databricks :
https://databricks.com/try-databricks
Try it
Zeppelin
Introduction
Big picture
Zeppelin introduction
What it is about?
●“A web-based notebook that
enables interactive data analytics”
●100% opensource
●Undergoing Incubation but …
Top level project at ASF!
Multi-purpose
●Data Ingestion
●Data Discovery
●Data Analytics
●Data Visualization &
Collaboration
Multiple Language
backend
●Scala
●shell
●python
●markdown
●your language by creation your
own interpreter
Data visualization
Easy way to build graph from data
Demo
Thank you
Démystifions le Machine
Learning
Matinale Spark et ML
25/05/16
Hervé RIVIERE
Démystifions le Machine Learning
Sommaire
Machine Learning ?1
2
4
Fondamentaux
Algorithmes
3 Préparation des données
5 Outils
6 Mettre en place un projet ML
Machine
Learning ?
Machine learning : ”Field of study that gives computers the ability to learn
without being explicitly programmed.” Arthur Samuel
Solves tasks that people are good at, but traditional computation is bad at.
Programmes qui ecrivent de nouveaux programmes
Orange : « Sauvons les livebox »
Prévenir le foudroiement
 Demande client de débrancher son équipement
Fnac : Ciblage marketing / envoi d’email de recommandation
Passer d’une solution avec des RG statiques à des algorithmes
de machine learning
Optimiser ROI
 Remplacer des règles de gestion métier statiques par un
algorithme auto-apprenant.
1- Mesure du risque (exemple : taux de prêt en fonction du dossier)
2- Recommandation (exemple : recommandation de films, pub)
3- Prédiction de revenu
4- Prédiction d’un comportement client (désabonnement, appel hotline…)
 Etre capable de détecter et réagir à des signaux faibles
1- Prévision et / ou détection d’une panne
2- Diagnostic médical
3- Asservissement machine – optimiser consommation électrique
 Mieux comprendre un jeu de données via les corrélations
faites par les algorithmes ML
1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…)
2 – Segmentation en différente catégories (exemple : campagne de publicité)
Machine Learning Regression
Deep Learning Clustering
Data Science Features engineering
(….)
Fondamentaux
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
0
100
200
300
400
500
600
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit aléatoire
Prix réel = f(X) + a
a
a
a
f(X)
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Si « a » trop important…
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Prix réel = f(X) + a
Données non prédictible !
0
10
20
30
40
50
60
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit
DWH
Open Data
Web
crawling
Dataset
d’entrainement
avec variables
prédictives et cible
Modèle
Prédiction
Variable cible
Hypothèses
Variables
prédictives
….
Préparation Construction du
modèle :
Générer un
programme (ie. le
modèle)
Production :
Utiliser le
programme généré
Voitures
?????
• Prédiction de l’avenir proche en fonction du
passé
• Approximation d’un pattern à partir d’exemple
• Copie d’un comportement en « boite noire »
(juste input et output)
• Algorithmes qui s’adaptent
Préparation des
données
DWH
Open Data
Web
crawling
Modèle
Prédiction
Hypothèses
Préparation
Dataset
d’entrainement
avec variables
prédictives et cible
….
- Complétude: champs manquant ?
- Echelle: Revenues par pays et nombre d’achats par
région !
- Exactitude : données réelles ?
- Fraicheur : Données du 19e siècle ?
- Format : CSV, images, JSON, BDD  JSON
- Agréger
- Enrichir
A B C D E F G H
10 3 2 5 7 43 2 4
1 24 34 5 876 7 6 52
43 24 1 558 23 4 5 6
Algorithmes ML
Moyenne des X : 9
Moyenne des Y : 7.5
• Une tache potentiellement (très…) longue
• Ingrat ?
• Influence directement le modèle
• Une bonne préparation des données est
meilleure que des bon algorithmes !
Algorithmes
DWH
Open Data
Web
crawling
Dataset
d’entrainement
Modèle
Prédiction
Hypothèses
Algorithmes
Régression
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Illustration en 2D, majorité des modèles avec 5..10..1000
dimensions
0
10
20
30
40
50
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement)
0
2000
4000
6000
8000
10000
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts
automatiquement)
Programme généré par l’algorithme
après entrainement :
Une formule mathématiques
Prix maison = 2*nbPieces + 3*surface
Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur
Simple à visualiser / comprendre
Algorithme supervisé (nécessite un entrainement préalable)
Peut être utilisé à des fin prédictive ou descriptive
Très sensible à la préparation initiale (valeurs aberrantes…)
Suppose que les données peuvent être modélisées sous formes
d’équations
Prix d’une maison : Si 10 + pièces…
Type
Pièce >10 Surface > 300
Etage <= 3 Ville = Paris
MaisonAppartement
Oui Non
Oui Oui NonNon
Oui Non
300 000€ 200 000€900 000€700 000€
400 000€600 000€
Programme généré par l’algorithme
après l’entrainement :
Conditions
If(surface>10 && piece=3)
if(type==maison) 250 000
else if (type==appartement) 150 000
Else 145 000
Algorithme supervisé (nécessite un entrainement préalable)
Moins sensible à la qualité de préparation de données
Paramètre à définir : nombre d’arbres / profondeurs etc…
Plusieurs arbres entrainés avec des subsets variés peuvent être
combinés  Random Forest
Le random forest est un des algorithmes actuellement le plus performant
Algorithmes
Classification
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
Malade / Sain
Recommandation de film
Transformer un problème de régression (ex : prix d’une maison) en
classification :
« Cette maison va-t-elle se vendre plus cher que le prix moyen de
la ville » Oui / Non
 Minimiser l’erreur
Ne fonctionne qu’avec 2 catégories uniquement !
Boisson = alcool
Prix > 30€ Steak haché
Boisson=vin
NonOui
Oui Non
Oui
Adulte
Non
Oui Non
AdolescentEnfant
Senior Adulte
Midi Soir
Algorithme non supervisé (pas d’entrainement)
Utilisé pour des algorithmes de recommandation (Netflix)
Le nombre de catégorie est définis par l’utilisateur ou dynamique
Le nom / description des catégorie est à définir par l’utilisateur
Quels outils ?
Mathématiques !
Connaissances métier !
Prototypage
Voir grand, commencer petit
Prototypage : tester rapidement et de façon autonome les
hypothèses
• R
• SAS
• Scikit-learn (Python)
• Dataiku
• Excel
• Tableau
• ….
Industrialisation : Automatisation, performance, maintenabilité,
important volume de données….
Important travail de réécriture de code !
• Brique ETL en amont
• Construction du modèle :
• Volume de donnée « faible » : R / SAS / Python industrialisé
• Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué)
• Solutions cloud (Azure ML / Amazon ML / Google prediction API)
• Distribution du modèle en aval :
• Webservice
• Embarqué dans une application
• …
Mettre en place
un projet
ML
Start Small – Scale Fast
Big Data et machine learning: Manuel du data scientist
Dunod
MOOC Machine Learning, Coursera
Andrew Ng
Zenika matinale spark-zeppelin_ml

Contenu connexe

Tendances

Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Victor Coustenoble
 
Delta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetDelta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetAlban Phélip
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudVictor Coustenoble
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big dataacogoluegnes
 
Explorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinExplorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinBruno Bonnin
 
Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013vberetti
 
DataStax et Apache Cassandra pour la gestion des flux IoT
DataStax et Apache Cassandra pour la gestion des flux IoTDataStax et Apache Cassandra pour la gestion des flux IoT
DataStax et Apache Cassandra pour la gestion des flux IoTVictor Coustenoble
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
HUG France -  20160114 industrialisation_process_big_data CanalPlusHUG France -  20160114 industrialisation_process_big_data CanalPlus
HUG France - 20160114 industrialisation_process_big_data CanalPlusModern Data Stack France
 
SQL Saturday Paris 2015 - Polybase
SQL Saturday Paris 2015 - PolybaseSQL Saturday Paris 2015 - Polybase
SQL Saturday Paris 2015 - PolybaseRomain Casteres
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Mathias Kluba
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctionsMICHRAFY MUSTAFA
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Jérôme Mainaud
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Jean-Pierre Riehl
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésMathieu Elie
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésRomain Hardouin
 

Tendances (20)

Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?
 
Delta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquetDelta Lake, un vernis pour parquet
Delta Lake, un vernis pour parquet
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big data
 
Explorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinExplorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelin
 
Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013
 
DataStax et Apache Cassandra pour la gestion des flux IoT
DataStax et Apache Cassandra pour la gestion des flux IoTDataStax et Apache Cassandra pour la gestion des flux IoT
DataStax et Apache Cassandra pour la gestion des flux IoT
 
HUG France - 20160114 industrialisation_process_big_data CanalPlus
HUG France -  20160114 industrialisation_process_big_data CanalPlusHUG France -  20160114 industrialisation_process_big_data CanalPlus
HUG France - 20160114 industrialisation_process_big_data CanalPlus
 
SQL Saturday Paris 2015 - Polybase
SQL Saturday Paris 2015 - PolybaseSQL Saturday Paris 2015 - Polybase
SQL Saturday Paris 2015 - Polybase
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctions
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
 
Hug janvier 2016 -EDF
Hug   janvier 2016 -EDFHug   janvier 2016 -EDF
Hug janvier 2016 -EDF
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Elasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautésElasticsearch 5.0 les nouveautés
Elasticsearch 5.0 les nouveautés
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
 

En vedette

Datascience & IoT
Datascience & IoTDatascience & IoT
Datascience & IoTZenika
 
Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Zenika
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéZenika
 
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleAgile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleZenika
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXZenika
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileZenika
 
NightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteNightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteZenika
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / DockerZenika
 
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud Villenave
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud VillenaveAgile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud Villenave
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud VillenaveZenika
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalitéZenika
 
NightClazz Spark / Machine Learning
NightClazz Spark / Machine LearningNightClazz Spark / Machine Learning
NightClazz Spark / Machine LearningZenika
 
NigthClazz Spark - Machine Learning / Introduction à Spark et Zeppelin
NigthClazz Spark - Machine Learning / Introduction à Spark et ZeppelinNigthClazz Spark - Machine Learning / Introduction à Spark et Zeppelin
NigthClazz Spark - Machine Learning / Introduction à Spark et ZeppelinZenika
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieZenika
 
Matinale React
Matinale ReactMatinale React
Matinale ReactZenika
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte Zenika
 
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...Zenika
 

En vedette (17)

Datascience & IoT
Datascience & IoTDatascience & IoT
Datascience & IoT
 
Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.Motivation 3.0 : sens, autonomie et maîtrise.
Motivation 3.0 : sens, autonomie et maîtrise.
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
 
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelleAgile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
Agile Wake Up #1 du 01/12/2015 : L'agilité à grande échelle
 
Agile Tour 2016 @ Lille
Agile Tour 2016 @ LilleAgile Tour 2016 @ Lille
Agile Tour 2016 @ Lille
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UX
 
Agile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation AgileAgile Wake Up #3 : la contractualisation Agile
Agile Wake Up #3 : la contractualisation Agile
 
NightClazz Java 8 Decouverte
NightClazz Java 8 DecouverteNightClazz Java 8 Decouverte
NightClazz Java 8 Decouverte
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / Docker
 
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud Villenave
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud VillenaveAgile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud Villenave
Agile Wake Up #1 du 01/12/2015 : Scrum Master's Diary par Arnaud Villenave
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
NightClazz Spark / Machine Learning
NightClazz Spark / Machine LearningNightClazz Spark / Machine Learning
NightClazz Spark / Machine Learning
 
NigthClazz Spark - Machine Learning / Introduction à Spark et Zeppelin
NigthClazz Spark - Machine Learning / Introduction à Spark et ZeppelinNigthClazz Spark - Machine Learning / Introduction à Spark et Zeppelin
NigthClazz Spark - Machine Learning / Introduction à Spark et Zeppelin
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
Matinale React
Matinale ReactMatinale React
Matinale React
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...
Agile Wake Up #1 du 01/12/2015 : L'agilité au service des projets Orange Fran...
 

Similaire à Zenika matinale spark-zeppelin_ml

[Smile] atelier spark - salon big data 13032018
[Smile]   atelier spark - salon big data 13032018[Smile]   atelier spark - salon big data 13032018
[Smile] atelier spark - salon big data 13032018Smile I.T is open
 
Spark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunitySpark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunityJean-Georges Perrin
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentariesRima Jamli Faidi
 
Hr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RHHr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RHWassim TRIFI
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6Jean-Michel Franco
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxAnass Nabil
 
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...Paris Open Source Summit
 
Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.OW2
 
CDAP, la boîte à outil pour concevoir vos applications Big Data
CDAP,  la boîte à outil pour concevoir vos applications Big DataCDAP,  la boîte à outil pour concevoir vos applications Big Data
CDAP, la boîte à outil pour concevoir vos applications Big DataSynaltic Group
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiFrédéric FAURE
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.xDr Hajji Hicham
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...AbdeslamAMRANE3
 
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beamAlexandre Touret
 
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Marius Zaharia
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beamAlexandre Touret
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Christophe Villeneuve
 

Similaire à Zenika matinale spark-zeppelin_ml (20)

[Smile] atelier spark - salon big data 13032018
[Smile]   atelier spark - salon big data 13032018[Smile]   atelier spark - salon big data 13032018
[Smile] atelier spark - salon big data 13032018
 
Spark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the CommunitySpark Summit Europe Wrap Up and TASM State of the Community
Spark Summit Europe Wrap Up and TASM State of the Community
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentaries
 
Hr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RHHr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RH
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptx
 
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
 
Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.
 
CDAP, la boîte à outil pour concevoir vos applications Big Data
CDAP,  la boîte à outil pour concevoir vos applications Big DataCDAP,  la boîte à outil pour concevoir vos applications Big Data
CDAP, la boîte à outil pour concevoir vos applications Big Data
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - Cacti
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...Mise en place d’un moteur de recherche et de recommandation de documents text...
Mise en place d’un moteur de recherche et de recommandation de documents text...
 
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam
[orleans-tech-19] Unifiez vos traitements Batch et Streaming avec Apache beam
 
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam
[tours-jug19] Unifiez vos traitements Batch et Streaming avec Apache beam
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?
 
Spark
SparkSpark
Spark
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 

Plus de Zenika

Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéZenika
 
Agile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalAgile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalZenika
 
Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Zenika
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013Zenika
 
Deadlock Victim
Deadlock VictimDeadlock Victim
Deadlock VictimZenika
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontZenika
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
What's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesWhat's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesZenika
 
Java 7 - Fork/Join
Java 7 - Fork/JoinJava 7 - Fork/Join
Java 7 - Fork/JoinZenika
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGZenika
 
Terracotta jug
Terracotta jugTerracotta jug
Terracotta jugZenika
 

Plus de Zenika (13)

Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilité
 
Agile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio DigitalAgile Wake Up #3 : La transformation Agile de Kisio Digital
Agile Wake Up #3 : La transformation Agile de Kisio Digital
 
Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?Entreprise libérée : Du mythe à la réalité ?
Entreprise libérée : Du mythe à la réalité ?
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013WTF - What's The Fold - Bordeaux JUG 2013
WTF - What's The Fold - Bordeaux JUG 2013
 
Deadlock Victim
Deadlock VictimDeadlock Victim
Deadlock Victim
 
Seren
SerenSeren
Seren
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
What's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. CogoluegnesWhat's Next Replay! Lyon 2011 - A. Cogoluegnes
What's Next Replay! Lyon 2011 - A. Cogoluegnes
 
Java 7 - Fork/Join
Java 7 - Fork/JoinJava 7 - Fork/Join
Java 7 - Fork/Join
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
 
Terracotta jug
Terracotta jugTerracotta jug
Terracotta jug
 

Zenika matinale spark-zeppelin_ml

  • 1. Matinale Big Data Spark et Machine Learning Zenika Lyon, le 25/05/16
  • 2. Hervé RIVIERE Développeur Big Data / NoSQL Formateur Couchbase Fabrice SZNAJDERMAN Développeur Java / Scala / Web Formateur Java / Scala Co-organisateur du ScalaIO 2016 (Lyon le 27 – 28 octobre)
  • 3. Big Data : Spark + Machine Learning Sommaire Big Data : Panorama 2016 (15 ’)1 2 Présentation d’Apache Spark et Apache Zeppelin (45’) 4 Démystifions le Machine Learning (45’) 3 Pause (30’)
  • 6. De 2014 à 2017…. 2014 • POC / expérimentation • Usage analytique • Hadoop Map-Reduce / HDFS / Pig / Hive / HBase / Storm …. 2015 • Industrialisation Data-Lake / Création Plateforme Big Data analytique • POC streaming / Plateforme Big Data opérationnelle • Spark / Cassandra / HDFS /Kafka / Storm / Samza / Mesos 2016 • Industrialisation Streaming / Plateforme Big Data opérationnelle • Expérimentation/ POC Big Data Prédictif / Machine Learning • Kafka / Spark / Flink / HDFS / Notebook web / Cassandra / Mesos…. 2017 • Industrialisation Big Data Prédictif / Machine Learning ? Internet of Things ? • Kafka stream ? / Kudu ? /Spark 2.0 ? / Flink ? ….
  • 7. Le Big Data pour quoi faire ? • Informatique décisionnelle : Statistiques descriptives sur des données à forte densité en information Exemple : Données CRM dans une BDD • Big Data : Données à faible densité d’informations mais dont l’important volume permet d’en déduire des lois / règles  Statistiques inférentielles Exemple : Données issues de capteurs dans un Data Lake • Fast Data : Transformer en temps réel la données à la place de traitements quotidiens / hebdomadaires / mensuels Exemple : Données issues d’un site web dans des topic Kafka
  • 8. Exemple de projets • Vision clients 360° (Banque / Distribution / Service…) o Réagir lors de certains évènements cross-canaux o Recommandation o Analyse ad-hoc spécifique métier (marketing, fraude…) • Analyse de données logs/capteurs (Industrie, Services, IT…) • Automatiser une surveillance humaine • Analyser puis optimiser • Soulager des outils décisionnels par des technologies Big Data • Pour la scalabilité • Pour de nouvelles possibilités (temps réel, schéma plus flexible, vitesse ….)
  • 9. Nos interventions Architecture Big Data Industrialisations développements POC Java / Scala Dataviz Formations Industrialisation algorithmes machine learning NoSQL Expertise technique Ateliers innovations
  • 11. Streaming Query/SQL ETL Machine Learning Search Engine Scheduler Service Discovery Resource Manager Kafka NiFi Flink StormZookeeper Spark Yarn Mesos File System OLAP Columns Document Key-Value Graph In-memory/Cache Time-Series CassandraMongoDB Neo4j Titan Couchbase Druid InfluxDB Hazelcast Redis Aerospike Kylin SolR ElasticSearch MahoutTez, Slider Oozie Hive, Impala, Hawq Drill Pig MR FrameworksStorage/NoSQL HbaseHDFS
  • 12. Architectures Big Data Couche temps réel / Opérationnelle Couche batch / analytique Requêtes Requêtes Données Données Données Données
  • 13. Analytique De 3 à 300 nœuds ! Stocker / traiter un (très) important volume de données (Tera octets…) à intervalle régulier Système analytique et non opérationnel ! Stockage Outil couramment utilisé En complément ou alternative Exécution Outil couramment utilisé En complément ou alternative Scheduler • NiFi • Oozie Notebook web • Zeppelin • Jupyter data-minning / Machine learning • R / Python • Mahout / H2O • Dataiku I/O • Sqoop - Kafka Ressource negociator • YARN • Mesos
  • 14. Opérationnelle De 3 à 300 nœuds ! Traiter un important volume de données en temps réel Système opérationnel et non analytique ! Stockage Outil couramment utilisé En complément ou alternative Exécution Outil couramment utilisé En complément ou alternative Schema registry • Avro API I/O • Akka • Spring • Play… Ressource negociator • Yarn • Mesos SMACK
  • 16. Nos partenaires conseil et formation NoSQL Langages & Ecosystème Big Data Intégration & continuous delivery
  • 17.
  • 18. Spark & Zeppelin Matinale Spark et ML 25/05/16 Fabrice Sznajderman
  • 22. What is it about? ●A cluster computing framework ●Open source ●Written in Scala
  • 23. History 2009 : Project start at MIT research lab 2010 : Project open-sourced 2013 : Become a Apache project and creation of the Databricks company 2014 : Become a top level Apache project and the most active project in the Apache fundation (500+ contributors) 2014 : Release of Spark 1.0, 1.1 and 1.2 2015 : Release of Spark 1.3, 1.4, 1.5 and 1.6 2015 : IBM, SAP… investment in Spark 2015 : 2000 registration in Spark Summit SF, 1000 in Spark Summit Amsterdam 2016 : new Spark Summit in San Francisco in June 2016
  • 24. Where spark is used? Source : http://cdn2.hubspot.net/hubfs/438089/DataBricks_Surveys_-_Content/Spark-Survey-2015- Infographic.pdf?t=1443057549926 The results reflect the answers and opinions of over 1,417 respondents representing over 842 organizations.
  • 25. Which kind of using? Source : http://cdn2.hubspot.net/hubfs/438089/DataBricks_Surveys_-_Content/Spark-Survey-2015- Infographic.pdf?t=1443057549926
  • 30. Properties ●Immutable ●Serializable ●Can be persist in RAM and / or disk ●Simple or complexe type
  • 31. Use as a collection ●DSL ●Monadic type ●Several operators –map, filter, count, distinct, flatmap, ... –join, groupBy, union, ...
  • 32. ●A collection (List, Set) ●Various formats of file –json, text, Hadoop SequenceFile, ... ●Various database –JDBC, Cassandra, ... ●Others RDD Created from Sources must be natively distributed (hdfs, cassandra,..), if not network become bottleneck
  • 33. Sample val conf = new SparkConf() .setAppName("sample") .setMaster("local") val sc = new SparkContext(conf) val rdd = sc.textFile("data.csv") val nb = rdd.map(s => s.length).filter(i => i> 10).count()
  • 34. Lazy-evaluation ●Intermediate operators –map, filter, distinct, flatmap, … ●final operators –count, mean, fold, first, ... val nb = rdd.map(s => s.length).filter(i => i> 10).count()
  • 35. Caching ●Reused an intermediate result ●Cache operator ●Avoid re-computing val r = rdd.map(s => s.length).cache() val nb = r.filter(i => i> 10).count() val sum = r.filter(i => i> 10).sum()
  • 37. Run locally val master = "local" val master = "local[*]" val master = "local[4]" val conf = new SparkConf().setAppName("sample") .setMaster(master) val sc = new SparkContext(conf)
  • 38. Run on cluster val master = "spark://..." val conf = new SparkConf().setAppName("sample") .setMaster(master) val sc = new SparkContext(conf)
  • 41. Composed by Spark Core Spark Streaming MLlib GraphX Spark SQL ML PipelineDataFrames Several data sources
  • 45. Spark SQL ●Structured data processing ●SQL Language ●DataFrame
  • 46. DataFrame 1/3 ●A distributed collection of rows organized into named columns ●An abstraction for selecting, filtering, aggregating and plotting structured data ●Provide a schema ●Not a RDD replacement What?
  • 47. DataFrame 1/3 ●RDD more efficient than before (Hadoop) ●But RDD is still too complicated for common tasks ●DataFrame is more simple and faster Why?
  • 49. DataFrame 3/3 ●From Spark 1.3 ● DataFrame API is just an interface –Implementation is done one time in Spark engine –All languages take benefits of optimization with out rewriting anything How ?
  • 51. Spark Streaming ●Framework over RDD and Dataframe API ●Real-time data processing ●RDD is DStream here ●Same as before but dataset is not static
  • 53. Spark Streaming Inputs / Ouputs http://spark.apache.org/docs/latest/img/streaming-arch.png
  • 55. Spark MLlib ●Make pratical machine learning scalable and easy ●Provide commons learning algorithms & utilities
  • 56. Spark MLlib ●Divides into 2 packages – spark.mllib – spark.ml
  • 57. Spark MLlib ●Original API based on RDD ●Each model has its own interface spark.mllib
  • 58. Spark MLlib ●Provides uniform set of high- level APIs ●Based on top of Dataframe ●Pipeline concepts –Transformer –Estimator –Pipeline spark.ml
  • 59. Spark MLlib spark.ml ●Transformer : transform(DF) –map a dataFrame by adding new column –predict the label and adding result in new column ●Estimator : fit(DF) –learning algorithm –produces a model from dataFrame
  • 60. Spark MLlib spark.ml ●Pipeline –sequence of stages (transformer or estimator) –specific order
  • 63. Spark 2.0 ●Unifying DataFrames and Datasets in Scala/Java ●SparkSession (replace SQLContext & HiveContext) ●Simpler, more performant Accumulator API ●spark.ml package emerges as the primary ML API Easier
  • 64. Spark 2.0 According to our 2015 Spark Survey, 91% of users consider performance as the most important aspect of Spark. l Faster
  • 65. Spark 2.0 Faster ●The second generation of Tungsten engine ●Builds upon ideas from – Modern compilers – Massively Parallel Processing Database (MPP) ●Spark SQL’s Catalyst Optimizer improvement
  • 67. Spark 2.0 ●Structured Streaming API ●Based on Catalyst optimizer ●Unifying DataFrames and Datasets Smarter
  • 68. Spark 2.0 This technical preview version is now available on Databricks : https://databricks.com/try-databricks Try it
  • 71. What it is about? ●“A web-based notebook that enables interactive data analytics” ●100% opensource ●Undergoing Incubation but …
  • 72. Top level project at ASF!
  • 73. Multi-purpose ●Data Ingestion ●Data Discovery ●Data Analytics ●Data Visualization & Collaboration
  • 75. Data visualization Easy way to build graph from data
  • 76. Demo
  • 78.
  • 79. Démystifions le Machine Learning Matinale Spark et ML 25/05/16 Hervé RIVIERE
  • 80. Démystifions le Machine Learning Sommaire Machine Learning ?1 2 4 Fondamentaux Algorithmes 3 Préparation des données 5 Outils 6 Mettre en place un projet ML
  • 82. Machine learning : ”Field of study that gives computers the ability to learn without being explicitly programmed.” Arthur Samuel Solves tasks that people are good at, but traditional computation is bad at. Programmes qui ecrivent de nouveaux programmes
  • 83.
  • 84. Orange : « Sauvons les livebox » Prévenir le foudroiement  Demande client de débrancher son équipement Fnac : Ciblage marketing / envoi d’email de recommandation Passer d’une solution avec des RG statiques à des algorithmes de machine learning Optimiser ROI
  • 85.  Remplacer des règles de gestion métier statiques par un algorithme auto-apprenant. 1- Mesure du risque (exemple : taux de prêt en fonction du dossier) 2- Recommandation (exemple : recommandation de films, pub) 3- Prédiction de revenu 4- Prédiction d’un comportement client (désabonnement, appel hotline…)
  • 86.  Etre capable de détecter et réagir à des signaux faibles 1- Prévision et / ou détection d’une panne 2- Diagnostic médical 3- Asservissement machine – optimiser consommation électrique
  • 87.  Mieux comprendre un jeu de données via les corrélations faites par les algorithmes ML 1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…) 2 – Segmentation en différente catégories (exemple : campagne de publicité)
  • 88. Machine Learning Regression Deep Learning Clustering Data Science Features engineering (….)
  • 89.
  • 91. Variable cible numérique Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 92. Variable cible textuelle = classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 93. 0 100 200 300 400 500 600 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit aléatoire Prix réel = f(X) + a a a a f(X) Modèle ML Ecart imprévisible Prédiction jamais exacte !
  • 94. Si « a » trop important… Modèle ML Ecart imprévisible Prédiction jamais exacte ! Prix réel = f(X) + a Données non prédictible ! 0 10 20 30 40 50 60 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit
  • 95. DWH Open Data Web crawling Dataset d’entrainement avec variables prédictives et cible Modèle Prédiction Variable cible Hypothèses Variables prédictives …. Préparation Construction du modèle : Générer un programme (ie. le modèle) Production : Utiliser le programme généré
  • 97. • Prédiction de l’avenir proche en fonction du passé • Approximation d’un pattern à partir d’exemple • Copie d’un comportement en « boite noire » (juste input et output) • Algorithmes qui s’adaptent
  • 100. - Complétude: champs manquant ? - Echelle: Revenues par pays et nombre d’achats par région ! - Exactitude : données réelles ? - Fraicheur : Données du 19e siècle ?
  • 101. - Format : CSV, images, JSON, BDD  JSON - Agréger - Enrichir A B C D E F G H 10 3 2 5 7 43 2 4 1 24 34 5 876 7 6 52 43 24 1 558 23 4 5 6 Algorithmes ML
  • 102. Moyenne des X : 9 Moyenne des Y : 7.5
  • 103. • Une tache potentiellement (très…) longue • Ingrat ? • Influence directement le modèle • Une bonne préparation des données est meilleure que des bon algorithmes !
  • 107. Variable cible numérique Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 108. Illustration en 2D, majorité des modèles avec 5..10..1000 dimensions 0 10 20 30 40 50 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement) 0 2000 4000 6000 8000 10000 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts automatiquement)
  • 109. Programme généré par l’algorithme après entrainement : Une formule mathématiques Prix maison = 2*nbPieces + 3*surface
  • 110. Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur Simple à visualiser / comprendre Algorithme supervisé (nécessite un entrainement préalable) Peut être utilisé à des fin prédictive ou descriptive Très sensible à la préparation initiale (valeurs aberrantes…) Suppose que les données peuvent être modélisées sous formes d’équations
  • 111. Prix d’une maison : Si 10 + pièces… Type Pièce >10 Surface > 300 Etage <= 3 Ville = Paris MaisonAppartement Oui Non Oui Oui NonNon Oui Non 300 000€ 200 000€900 000€700 000€ 400 000€600 000€
  • 112. Programme généré par l’algorithme après l’entrainement : Conditions If(surface>10 && piece=3) if(type==maison) 250 000 else if (type==appartement) 150 000 Else 145 000
  • 113. Algorithme supervisé (nécessite un entrainement préalable) Moins sensible à la qualité de préparation de données Paramètre à définir : nombre d’arbres / profondeurs etc… Plusieurs arbres entrainés avec des subsets variés peuvent être combinés  Random Forest Le random forest est un des algorithmes actuellement le plus performant
  • 115. Variable cible textuelle = classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 116. Malade / Sain Recommandation de film Transformer un problème de régression (ex : prix d’une maison) en classification : « Cette maison va-t-elle se vendre plus cher que le prix moyen de la ville » Oui / Non  Minimiser l’erreur
  • 117.
  • 118. Ne fonctionne qu’avec 2 catégories uniquement !
  • 119. Boisson = alcool Prix > 30€ Steak haché Boisson=vin NonOui Oui Non Oui Adulte Non Oui Non AdolescentEnfant Senior Adulte
  • 120.
  • 122. Algorithme non supervisé (pas d’entrainement) Utilisé pour des algorithmes de recommandation (Netflix) Le nombre de catégorie est définis par l’utilisateur ou dynamique Le nom / description des catégorie est à définir par l’utilisateur
  • 123.
  • 127. Prototypage Voir grand, commencer petit Prototypage : tester rapidement et de façon autonome les hypothèses • R • SAS • Scikit-learn (Python) • Dataiku • Excel • Tableau • ….
  • 128. Industrialisation : Automatisation, performance, maintenabilité, important volume de données…. Important travail de réécriture de code ! • Brique ETL en amont • Construction du modèle : • Volume de donnée « faible » : R / SAS / Python industrialisé • Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué) • Solutions cloud (Azure ML / Amazon ML / Google prediction API) • Distribution du modèle en aval : • Webservice • Embarqué dans une application • …
  • 129. Mettre en place un projet ML
  • 130.
  • 131.
  • 132. Start Small – Scale Fast
  • 133. Big Data et machine learning: Manuel du data scientist Dunod MOOC Machine Learning, Coursera Andrew Ng