SlideShare une entreprise Scribd logo
1  sur  32
Cassandra et Spark Streaming
Architecture événementielle et Analytique temps réel
Victor Coustenoble Petit Déjeuner OCTO Technology
Ingénieur Solutions 14/04/15
victor.coustenoble@datastax.com
@vizanalytics
Agenda
Confidential 2
• Cassandra / DataStax
• Spark / Spark Streaming
• Architecture / Cas métiers
• Démonstrations
3
DataStax délivre une plateforme de la base de données
Apache Cassandra, conçue spécifiquement pour les
besoins en Performance et Disponibilité exigés par les
applications d’Internet des Objets, Web ou Mobiles, en
offrant aux entreprises une base de données Sécurisée
toujours disponible, qui reste Simple à administrer même
pour des déploiements à grande échelle, dans un seul ou
de Multiples Data Centers et dans le Cloud.
Cas d’usage fréquents
Messagerie
Collections/
Playlists
Détection de
Fraude
Recommandation/
Personnalisation
Objets connectés/
Données de Capteurs
DataStax
Fondé en avril 2010
~35 500+
Santa Clara, Austin, New York, London, Paris, Sydney
400+
Employés Pourcent Clients
5
Straightening the road
RELATIONAL DATABASES
CQL SQL
OpsCenter / DevCenter Management tools
DSE for search & analytics Integration
Security Security
Support, consulting & training 30 years ecosystem
• Sans Maître-Esclave (peer-to-peer), sans Point Unique de Défaillance (No SPOF)
• Distribuée avec la possibilité de Data Center
• 100% Disponible (replication)
• Massivement scalable
• Montée en charge linéaire
• Haute Performance (lecture ET écriture)
• Multi Data Center
• Séries Temporelles
• Multi Modèle
• Simple à Exploiter
• Language CQL (comme SQL)
• Outils OpsCenter / DevCenter
Apache Cassandra™
7
Confidential 8
DataStax Enterprise
Confiance
d’utilisatio
n
Fonctionnalités
d’entreprise
DataStax Enterprise
DataStax supporte la communauté open source et les entreprises
9
Open Source/Communauté Enterprise Software
• DataStax emploie le président du
projet Apache et développe 80+% du
code de Apache Cassandra
• DataStax Community Edition
• DataStax Simple OpsCenter
• DataStax DevCenter
• DataStax Drivers/Connecteurs
• Documentation en ligne
• Formation en ligne
• Mailing lists et forums
• DataStax Enterprise Edition
• Cassandra Certifié
• In-Memory
• Analytique intégré (Hadoop, Spark)
• Recherche intégrée (Solr)
• Securité d’entreprise
• DataStax OpsCenter Avancé
• Services d’Administration Automatique
• Support Expert
• Aide et Consulting
• Formation Professionnelle
Confidential 10
Pourquoi Spark + Cassandra ?
Analytique Opérationnelle / Temps Réel
©2014 DataStax Confidential. Do not distribute without consent. 11
Enrichissement des Données
Contraintes d’intégrité
Détection de dépassement de seuil
Batch Processing
Machine Learning
Agrégats pré-calculés
Création de KPI
Données
Traitement
Flux
Cassandra a besoin d’un framework de traitement distribué
Pour des requêtes indépendates du modèle de données
Pour des opérations cross-table (JOIN, UNION)
Pour des analyses complexes (machine learning)
Pour des transformation, des aggrégations
Pour des traitements de flux
…
• Spark = Traitement Distribué
• “In-memory Map/Reduce”, multi-thread, caching
• Intégration poussée de Spark avec Cassandra
• Partenariat DataStax / Databricks
• x10 – x100 plus rapide que Hadoop MapReduce
©2014 DataStax Confidential. Do not distribute without consent. 13
Replication
Cassandra
Application
Opérationnelle
Noeuds
Spark
Le SDK du « Big Data »
Cas d’utilisation de Spark pour Cassandra
14
Load data from various
sources
Analytics (join, aggregate, transform, …)
Sanitize, validate, normalize data
Schema migration,
Data conversion
©2013 DataStax Confidential. Do not distribute without consent. 15
• Fast, distributed, scalable and fault
tolerant cluster compute system
• Enables Low-latency with complex
analytics
• Developed in 2009 at UC Berkeley
AMPLab, open sourced in 2010, and
became a top-level Apache project in
February, 2014
Spark – Représentation Conceptuelle
©2013 DataStax Confidential. Do not distribute without consent. 16
RDD
RDD
RDD
RDD
Transformations
Action Value
counts = lines.flatMap(lambda s: s.split(“ ”)) 
.map(lambda word: (word, 1)) 
.reduceByKey(lambda x, y: x + y)
counts.saveAsTextFile(sys.argv[2])
lines = sc.textFile(sys.argv[1])
1
2
3
Resilient Distributed Datasets (RDDs) – Spark’s datasets
Fault tolerant collection of elements that enable parallel processing
Transformation and Actions are executed against RDDs
Can persist in Memory, on Disk, or both
Can be partitioned to control parallel processing
Can be reused
Composants Spark + Cassandra
Shark
or
Spark SQL
Structured
Spark
Streaming
Real-time
MLlib
Machine learning
Spark (General execution engine)
GraphX
Graph
Cassandra
Connecteur Cassandra Spark
C*
C*
C*C*
Spark Executor
C* Java Driver
Spark-Cassandra Connector
User Application
Cassandra
Connecteur Cassandra Spark
•Tables Cassandra tables exposées en temps que RDDs Spark
•Chargement des données depuis Cassandra vers Spark
•Ecriture des données depuis Spark vers Cassandra
•Object mapper : Mapping des tables Cassandra en objets Scala/Java
•Conversions des types Cassandra en type Scala/Java
•Sélection et filtres des données au niveau de Cassandra
•API Scala, Java et Pyhton
Lecture des données
val table_rdd = sc
.cassandraTable[CassandraRow]("db", "tweets")
.select("user_name", "message")
.where("user_name = ?", "ewa")
row
representation keyspace table
server side column
and row selection
Ecriture des données
CREATE TABLE test.words(word TEXT PRIMARY KEY, count INT);
val collection_rdd = sc.parallelize(Seq(("foo", 2), ("bar", 5)))
collection_rdd.saveToCassandra("test", "words", SomeColumns("word", "count"))
cqlsh:test> select * from words;
word | count
------+-------
bar | 5
foo | 2
(2 rows)
“Je veux des résultats en continue depuis un flux de données”
“Je veux une garantie que mes messages soient traités une seule fois”
DStream (Discretized Stream)
Flux continu de micro batchs pour:
• Traitements complexes avec un minimal d’effort
• Calculs sur des flux dans un petit interval de temps
Une transformation sur DStream = transformations sur ses RDDs
Quand le batch n’est plus suffisant
Spark Streaming Input
Données en entrée depuis:
• une socket TCP
• des messages depuis Kafka
• des logs depuis Flume
• des fichiers depuis HDFS (monitorer la création de
nouveaux fichiers)
• une file MQ (type ZeroMQ)
• des tweets depuis Twitter (API Twitter4J)
• …
Utilisation de Spark Streaming
L’API de Spark Streaming est
identique à l’API classique de Spark
=> Des portions de code batch et de
flux peuvent être partagés 
import com.datastax.spark.connector.streaming._
// Spark connection options
val conf = new SparkConf(true)...
// streaming with 1 second batch window
val ssc = new StreamingContext(conf, Seconds(1))
// stream input
val lines = ssc.socketTextStream(serverIP, serverPort)
// count words
val wordCounts = lines.flatMap(_.split(" ")).map(word =>
(word, 1)).reduceByKey(_ + _)
// stream output
wordCounts.saveToCassandra("test", "words")
// start processing
ssc.start()
ssc.awaitTermination()
Et dans une architecture ?
Cassandra + Spark = Recommandation + Analytique
©2014 DataStax Confidential. Do not distribute without consent. 26
Enrichissement des Données
Batch Processing
Machine Learning
Agrégats pré-calculésDonnées
Pas d’ETL
“Pour du calcul de prévisions, j’ai besoin d’un accès rapide à
mes données historiques couplé à des données en temps réel
provenant d’un flux”
Architecture Lambda
Une architecture de traitement de données conçue pour gérer des énormes
quantités de données en tirant avantage à la fois des méthodes de traitement batch
et des traitements de flux.
Architecture Lambda
Confidential 30
Applications Capteurs Web Mobiles
Détection
d’intrusion
Détection de
panne
Analyse de
navigation
Analyse de
métriques
réseaux
Détection de
fraude
Optimisation
dynamique de
processus
Recommandatio
ns
Publicité
géolocalisée
Traitement de Log
Planning de
logistique
Analyse de
sentiment
Analyse et traitement temps réel
Démonstrations Spark Streaming + Cassandra
Twitter
• Dans des intervals de 5 secondes, comptage et stockage du nombre de Tweets
contenant les mots "love", "hate", "cat" ou "lol"
• https://github.com/doanduyhai/Cassandra-Spark-Demo
Meetup RSVP
• Nombre total de participants par pays (depuis le démarrage de l’application).
Rafraichissement toutes les 5 secondes, traitement simple d’un flux.
• Les sujets des Meetups les plus populaires dans les 5 dernières minutes.
Rafraichissement toutes les 10 secondes, traitement dans une plage de temps.
• https://github.com/rstml/datastax-spark-streaming-demo
© 2014 DataStax, All Rights Reserved. Company Confidential 31
Merci, Questions ?
We power the big data apps
that transform business.
©2013 DataStax Confidential. Do not distribute without consent.
victor.coustenoble@datastax.com
@vizanalytics

Contenu connexe

Tendances

Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à CassandraVMware Tanzu
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big dataacogoluegnes
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureMicrosoft
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQLSamy Dindane
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réelMathieu DESPRIEE
 
Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KJulien Anguenot
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocutionParis_Storm_UG
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introOlivier Mallassi
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamTelecomValley
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 

Tendances (20)

NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big data
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 
noSQL
noSQLnoSQL
noSQL
 
Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.K
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocution
 
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -introNosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
Nosql, hadoop, map reduce, hbase, sqoop, voldemort, cassandra -intro
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 

En vedette

Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
Apache SPARK ML : principes, concepts et mise en œuvre
Apache SPARK  ML : principes, concepts et  mise en œuvre Apache SPARK  ML : principes, concepts et  mise en œuvre
Apache SPARK ML : principes, concepts et mise en œuvre MICHRAFY MUSTAFA
 
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...OCTO Technology
 
2 m72 groupe4_présentation
2 m72 groupe4_présentation2 m72 groupe4_présentation
2 m72 groupe4_présentationlitlematth
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseEric Evans
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseEric Evans
 
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Eric Evans
 
Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Eric Evans
 
Castle enhanced Cassandra
Castle enhanced CassandraCastle enhanced Cassandra
Castle enhanced CassandraEric Evans
 
Webinaire Business&Decision - Trifacta
Webinaire  Business&Decision - TrifactaWebinaire  Business&Decision - Trifacta
Webinaire Business&Decision - TrifactaVictor Coustenoble
 
Wayne State University & DataStax: World's best data modeling tool for Apache...
Wayne State University & DataStax: World's best data modeling tool for Apache...Wayne State University & DataStax: World's best data modeling tool for Apache...
Wayne State University & DataStax: World's best data modeling tool for Apache...DataStax Academy
 
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
 
CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)Eric Evans
 
Cassandra background-and-architecture
Cassandra background-and-architectureCassandra background-and-architecture
Cassandra background-and-architectureMarkus Klems
 

En vedette (20)

Spark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclairSpark, ou comment traiter des données à la vitesse de l'éclair
Spark, ou comment traiter des données à la vitesse de l'éclair
 
Cassandra 2.2 & 3.0
Cassandra 2.2 & 3.0Cassandra 2.2 & 3.0
Cassandra 2.2 & 3.0
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Apache SPARK ML : principes, concepts et mise en œuvre
Apache SPARK  ML : principes, concepts et  mise en œuvre Apache SPARK  ML : principes, concepts et  mise en œuvre
Apache SPARK ML : principes, concepts et mise en œuvre
 
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...
Petit Déjeuner Datastax 14-04-15 : Les nouvelles architectures de stockage et...
 
2 m72 groupe4_présentation
2 m72 groupe4_présentation2 m72 groupe4_présentation
2 m72 groupe4_présentation
 
Cassandra 3.0
Cassandra 3.0Cassandra 3.0
Cassandra 3.0
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-case
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-case
 
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
 
Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)
 
Castle enhanced Cassandra
Castle enhanced CassandraCastle enhanced Cassandra
Castle enhanced Cassandra
 
Webinaire Business&Decision - Trifacta
Webinaire  Business&Decision - TrifactaWebinaire  Business&Decision - Trifacta
Webinaire Business&Decision - Trifacta
 
Wayne State University & DataStax: World's best data modeling tool for Apache...
Wayne State University & DataStax: World's best data modeling tool for Apache...Wayne State University & DataStax: World's best data modeling tool for Apache...
Wayne State University & DataStax: World's best data modeling tool for Apache...
 
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
 
CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)
 
DataStax Enterprise BBL
DataStax Enterprise BBLDataStax Enterprise BBL
DataStax Enterprise BBL
 
Cassandra background-and-architecture
Cassandra background-and-architectureCassandra background-and-architecture
Cassandra background-and-architecture
 

Similaire à Datastax Cassandra + Spark Streaming

Xebicon2019 m icroservices
Xebicon2019   m icroservicesXebicon2019   m icroservices
Xebicon2019 m icroservicesCédrick Lunven
 
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
 
Spark Streaming
Spark StreamingSpark Streaming
Spark StreamingPALO IT
 
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
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctionsMICHRAFY MUSTAFA
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Microsoft
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesosebiznext
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling Activeeon
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika
 
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
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataMicrosoft
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
Azure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideAzure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideJean-Pierre Riehl
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSoft Computing
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Bruno Bonnin
 
[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle Auberix[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle AuberixCellenza
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiFrédéric FAURE
 

Similaire à Datastax Cassandra + Spark Streaming (20)

Xebicon2019 m icroservices
Xebicon2019   m icroservicesXebicon2019   m icroservices
Xebicon2019 m icroservices
 
DataStax Enterprise - Cas d'usage
DataStax Enterprise - Cas d'usageDataStax Enterprise - Cas d'usage
DataStax Enterprise - Cas d'usage
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
Spark Streaming
Spark StreamingSpark Streaming
Spark Streaming
 
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
 
Spark SQL principes et fonctions
Spark SQL principes et fonctionsSpark SQL principes et fonctions
Spark SQL principes et fonctions
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesos
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_ml
 
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 ?
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Azure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideAzure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybride
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing Théâtre
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
 
[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle Auberix[GAB2016] La sécurité dans Azure - Estelle Auberix
[GAB2016] La sécurité dans Azure - Estelle Auberix
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - Cacti
 

Plus de Victor Coustenoble

Préparation de Données pour la Détection de Fraude
Préparation de Données pour la Détection de FraudePréparation de Données pour la Détection de Fraude
Préparation de Données pour la Détection de FraudeVictor Coustenoble
 
Préparation de Données dans le Cloud
Préparation de Données dans le CloudPréparation de Données dans le Cloud
Préparation de Données dans le CloudVictor Coustenoble
 
Préparation de Données Hadoop avec Trifacta
Préparation de Données Hadoop avec TrifactaPréparation de Données Hadoop avec Trifacta
Préparation de Données Hadoop avec TrifactaVictor Coustenoble
 
BI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache CassandraBI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache CassandraVictor Coustenoble
 
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetup
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetupDataStax - Analytics on Apache Cassandra - Paris Tech Talks meetup
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetupVictor Coustenoble
 
Spark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataSpark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataVictor Coustenoble
 
Lightning fast analytics with Cassandra and Spark
Lightning fast analytics with Cassandra and SparkLightning fast analytics with Cassandra and Spark
Lightning fast analytics with Cassandra and SparkVictor Coustenoble
 

Plus de Victor Coustenoble (7)

Préparation de Données pour la Détection de Fraude
Préparation de Données pour la Détection de FraudePréparation de Données pour la Détection de Fraude
Préparation de Données pour la Détection de Fraude
 
Préparation de Données dans le Cloud
Préparation de Données dans le CloudPréparation de Données dans le Cloud
Préparation de Données dans le Cloud
 
Préparation de Données Hadoop avec Trifacta
Préparation de Données Hadoop avec TrifactaPréparation de Données Hadoop avec Trifacta
Préparation de Données Hadoop avec Trifacta
 
BI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache CassandraBI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache Cassandra
 
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetup
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetupDataStax - Analytics on Apache Cassandra - Paris Tech Talks meetup
DataStax - Analytics on Apache Cassandra - Paris Tech Talks meetup
 
Spark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataSpark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational Data
 
Lightning fast analytics with Cassandra and Spark
Lightning fast analytics with Cassandra and SparkLightning fast analytics with Cassandra and Spark
Lightning fast analytics with Cassandra and Spark
 

Datastax Cassandra + Spark Streaming

  • 1. Cassandra et Spark Streaming Architecture événementielle et Analytique temps réel Victor Coustenoble Petit Déjeuner OCTO Technology Ingénieur Solutions 14/04/15 victor.coustenoble@datastax.com @vizanalytics
  • 2. Agenda Confidential 2 • Cassandra / DataStax • Spark / Spark Streaming • Architecture / Cas métiers • Démonstrations
  • 3. 3 DataStax délivre une plateforme de la base de données Apache Cassandra, conçue spécifiquement pour les besoins en Performance et Disponibilité exigés par les applications d’Internet des Objets, Web ou Mobiles, en offrant aux entreprises une base de données Sécurisée toujours disponible, qui reste Simple à administrer même pour des déploiements à grande échelle, dans un seul ou de Multiples Data Centers et dans le Cloud.
  • 4. Cas d’usage fréquents Messagerie Collections/ Playlists Détection de Fraude Recommandation/ Personnalisation Objets connectés/ Données de Capteurs
  • 5. DataStax Fondé en avril 2010 ~35 500+ Santa Clara, Austin, New York, London, Paris, Sydney 400+ Employés Pourcent Clients 5
  • 6. Straightening the road RELATIONAL DATABASES CQL SQL OpsCenter / DevCenter Management tools DSE for search & analytics Integration Security Security Support, consulting & training 30 years ecosystem
  • 7. • Sans Maître-Esclave (peer-to-peer), sans Point Unique de Défaillance (No SPOF) • Distribuée avec la possibilité de Data Center • 100% Disponible (replication) • Massivement scalable • Montée en charge linéaire • Haute Performance (lecture ET écriture) • Multi Data Center • Séries Temporelles • Multi Modèle • Simple à Exploiter • Language CQL (comme SQL) • Outils OpsCenter / DevCenter Apache Cassandra™ 7
  • 9. DataStax Enterprise DataStax supporte la communauté open source et les entreprises 9 Open Source/Communauté Enterprise Software • DataStax emploie le président du projet Apache et développe 80+% du code de Apache Cassandra • DataStax Community Edition • DataStax Simple OpsCenter • DataStax DevCenter • DataStax Drivers/Connecteurs • Documentation en ligne • Formation en ligne • Mailing lists et forums • DataStax Enterprise Edition • Cassandra Certifié • In-Memory • Analytique intégré (Hadoop, Spark) • Recherche intégrée (Solr) • Securité d’entreprise • DataStax OpsCenter Avancé • Services d’Administration Automatique • Support Expert • Aide et Consulting • Formation Professionnelle
  • 11. Analytique Opérationnelle / Temps Réel ©2014 DataStax Confidential. Do not distribute without consent. 11 Enrichissement des Données Contraintes d’intégrité Détection de dépassement de seuil Batch Processing Machine Learning Agrégats pré-calculés Création de KPI Données Traitement Flux
  • 12. Cassandra a besoin d’un framework de traitement distribué Pour des requêtes indépendates du modèle de données Pour des opérations cross-table (JOIN, UNION) Pour des analyses complexes (machine learning) Pour des transformation, des aggrégations Pour des traitements de flux …
  • 13. • Spark = Traitement Distribué • “In-memory Map/Reduce”, multi-thread, caching • Intégration poussée de Spark avec Cassandra • Partenariat DataStax / Databricks • x10 – x100 plus rapide que Hadoop MapReduce ©2014 DataStax Confidential. Do not distribute without consent. 13 Replication Cassandra Application Opérationnelle Noeuds Spark Le SDK du « Big Data »
  • 14. Cas d’utilisation de Spark pour Cassandra 14 Load data from various sources Analytics (join, aggregate, transform, …) Sanitize, validate, normalize data Schema migration, Data conversion
  • 15. ©2013 DataStax Confidential. Do not distribute without consent. 15 • Fast, distributed, scalable and fault tolerant cluster compute system • Enables Low-latency with complex analytics • Developed in 2009 at UC Berkeley AMPLab, open sourced in 2010, and became a top-level Apache project in February, 2014
  • 16. Spark – Représentation Conceptuelle ©2013 DataStax Confidential. Do not distribute without consent. 16 RDD RDD RDD RDD Transformations Action Value counts = lines.flatMap(lambda s: s.split(“ ”)) .map(lambda word: (word, 1)) .reduceByKey(lambda x, y: x + y) counts.saveAsTextFile(sys.argv[2]) lines = sc.textFile(sys.argv[1]) 1 2 3 Resilient Distributed Datasets (RDDs) – Spark’s datasets Fault tolerant collection of elements that enable parallel processing Transformation and Actions are executed against RDDs Can persist in Memory, on Disk, or both Can be partitioned to control parallel processing Can be reused
  • 17. Composants Spark + Cassandra Shark or Spark SQL Structured Spark Streaming Real-time MLlib Machine learning Spark (General execution engine) GraphX Graph Cassandra
  • 18. Connecteur Cassandra Spark C* C* C*C* Spark Executor C* Java Driver Spark-Cassandra Connector User Application Cassandra
  • 19. Connecteur Cassandra Spark •Tables Cassandra tables exposées en temps que RDDs Spark •Chargement des données depuis Cassandra vers Spark •Ecriture des données depuis Spark vers Cassandra •Object mapper : Mapping des tables Cassandra en objets Scala/Java •Conversions des types Cassandra en type Scala/Java •Sélection et filtres des données au niveau de Cassandra •API Scala, Java et Pyhton
  • 20. Lecture des données val table_rdd = sc .cassandraTable[CassandraRow]("db", "tweets") .select("user_name", "message") .where("user_name = ?", "ewa") row representation keyspace table server side column and row selection
  • 21. Ecriture des données CREATE TABLE test.words(word TEXT PRIMARY KEY, count INT); val collection_rdd = sc.parallelize(Seq(("foo", 2), ("bar", 5))) collection_rdd.saveToCassandra("test", "words", SomeColumns("word", "count")) cqlsh:test> select * from words; word | count ------+------- bar | 5 foo | 2 (2 rows)
  • 22. “Je veux des résultats en continue depuis un flux de données” “Je veux une garantie que mes messages soient traités une seule fois” DStream (Discretized Stream) Flux continu de micro batchs pour: • Traitements complexes avec un minimal d’effort • Calculs sur des flux dans un petit interval de temps Une transformation sur DStream = transformations sur ses RDDs Quand le batch n’est plus suffisant
  • 23. Spark Streaming Input Données en entrée depuis: • une socket TCP • des messages depuis Kafka • des logs depuis Flume • des fichiers depuis HDFS (monitorer la création de nouveaux fichiers) • une file MQ (type ZeroMQ) • des tweets depuis Twitter (API Twitter4J) • …
  • 24. Utilisation de Spark Streaming L’API de Spark Streaming est identique à l’API classique de Spark => Des portions de code batch et de flux peuvent être partagés  import com.datastax.spark.connector.streaming._ // Spark connection options val conf = new SparkConf(true)... // streaming with 1 second batch window val ssc = new StreamingContext(conf, Seconds(1)) // stream input val lines = ssc.socketTextStream(serverIP, serverPort) // count words val wordCounts = lines.flatMap(_.split(" ")).map(word => (word, 1)).reduceByKey(_ + _) // stream output wordCounts.saveToCassandra("test", "words") // start processing ssc.start() ssc.awaitTermination()
  • 25. Et dans une architecture ?
  • 26. Cassandra + Spark = Recommandation + Analytique ©2014 DataStax Confidential. Do not distribute without consent. 26 Enrichissement des Données Batch Processing Machine Learning Agrégats pré-calculésDonnées Pas d’ETL
  • 27. “Pour du calcul de prévisions, j’ai besoin d’un accès rapide à mes données historiques couplé à des données en temps réel provenant d’un flux”
  • 28. Architecture Lambda Une architecture de traitement de données conçue pour gérer des énormes quantités de données en tirant avantage à la fois des méthodes de traitement batch et des traitements de flux.
  • 30. Confidential 30 Applications Capteurs Web Mobiles Détection d’intrusion Détection de panne Analyse de navigation Analyse de métriques réseaux Détection de fraude Optimisation dynamique de processus Recommandatio ns Publicité géolocalisée Traitement de Log Planning de logistique Analyse de sentiment Analyse et traitement temps réel
  • 31. Démonstrations Spark Streaming + Cassandra Twitter • Dans des intervals de 5 secondes, comptage et stockage du nombre de Tweets contenant les mots "love", "hate", "cat" ou "lol" • https://github.com/doanduyhai/Cassandra-Spark-Demo Meetup RSVP • Nombre total de participants par pays (depuis le démarrage de l’application). Rafraichissement toutes les 5 secondes, traitement simple d’un flux. • Les sujets des Meetups les plus populaires dans les 5 dernières minutes. Rafraichissement toutes les 10 secondes, traitement dans une plage de temps. • https://github.com/rstml/datastax-spark-streaming-demo © 2014 DataStax, All Rights Reserved. Company Confidential 31
  • 32. Merci, Questions ? We power the big data apps that transform business. ©2013 DataStax Confidential. Do not distribute without consent. victor.coustenoble@datastax.com @vizanalytics

Notes de l'éditeur

  1. Key Takeaway- Introduce the company, our incredible growth and global presence, that we are in about 25% of the FORTUNE 100, and the fact that many of the online and mobile applications you already use every day are actually built on DataStax. Talk Track- DataStax, the leading distributed database technology, delivers Apache Cassandra to the world’s most innovative companies such as Netflix, Rackspace, Pearson Education and Constant Contact. DataStax is built to be agile, always-on, and predictably scalable to any size. We were founded in April 2010, so we are a little over 4 years old. We are headquartered in Santa Clara, California and have offices in Austin TX, New York, London, England and Sydney Australia. We now have over 330 employees; this number will reach well over 400 by the end of our fiscal year (Jan 31 2015) and double by the end of FY16. Currently 25% of the Fortune 100 use us, and our success has been built on our customers success and today and we have over 500 customers worldwide, in over 40 countries. The logos you see here are ones that you are already using every day. These applications are all built on DataStax and Apache Cassandra. So how have we come so far in such a short time…..?
  2. En fait la mission de DataStax est de vos libérer de ces incertitudes et vous faciliter la route sur cette nouvelle voie. A cette fin, nous vous offrons un DML DDL appelé CQL très proche du SQL maitrisé par vos équipes, des outils complets d’administration et de monitoring, So, What DataStax is doing is trying to straightened that bend in the road. We are providing things like CQL, and management tools called DevCenter and OpsCenter. DataStax Enterprise provides integration into analytics and search capabilities and we do it all within a secure environment. We also provide consultants and training courses, including free virtual training to help get you up to speed.
  3. Cassandra is designed to handle big data workloads across multiple data centers with no single point of failure, providing enterprises with continuous availability without compromising performance. It uses aspects of Dynamos partitioning and replication and a log-structured data model similar to Bigtable’s. It takes its distribution algorithm from Dynamo and its data model from Bigtable. Cassandra is a reinvented database which is lightening fast and always on ideal for todays online applications where relational databases like Oracle can’t keep up. This means that in todays world, cassandra stores and processes real time information at fast, predictive performance and built in fault tolerance
  4. DataStax is the company that delivers Cassandra to the enterprise. First, we take the open source software and put it through rigorous quality assurance tests including a 1000 node scalability test. We certify it and provide the worlds most comprehensive support, training and consulting for Cassandra so that you can get up and running quickly. But that isn’t all DataStax does. We also build additional software features on top of DataStax including security, search, analytics as well as provide in memory capabilities that don’t come with the open source Cassandra product. We also provide management services to help visualize your nodes, plan your capacity and repair issues automatically. Finally, we also provide developer tools and drivers as well as monitoring tools. DataStax is the commercial company behind Apache Cassandra plus a whole host of additional software and services.
  5. Predictive analytics Does this simple architecture look familiar to you? Lambda Nathan Marz
  6. DUYHAI
  7. Shark is hive compatible – you can run the same application on Shark Shark integration is only on DSE, otherwise you have to wait for Spark SQL Separate projects – Spark is totally different project Spark SQL has borrowed from Spark Both promising to be Hive compatible
  8. Predictive analytics Does this simple architecture look familiar to you? Lambda Nathan Marz