Real-Time Analytics mit Spark und Cassandra

Werbung
Real-Time
Analytics
mit Spark
und Cassandra
im März 2015
OSBI – Workshop
http://www.osbi-workshop.de/
WidasConcepts Unternehmensberatung GmbH Ÿ Maybachstraße 2 Ÿ 71299 Wimsheim Ÿ http://www.widas.de
REAL-TIME
ANALYTICS?
Real-Time Analytics?
3
© WidasConcepts
Real-Time Analytics mit Spark und Cassandra
4
© WidasConcepts
CASSANDRA
Cassandra
6
Vorteile Cassandra: massiv skalierbare verteilte Datenbank
1
CAP frei einstellbar, für Analytics: AP
2
3
KKV – Wide Columnar/Partitions
4
Zeitreihen optimierte Datenmodelle
5
6
Shared Nothing, Peer to Peer
In Memory Tabellen
Daten-Lokalität mit Wide Partitions
© WidasConcepts
Cassandra – Ring Struktur
7
Jeder Knoten in Cassandra ist äquivalent ansprechbar
Konfigurierbare Replikation (lokal, DC-weise)
1
2
5
Client
4
3
© WidasConcepts
Verfügbarkeit
8
  „Can‘t Fail, Must Scale“ –System
  Datenreplikation sichert Verfügbarkeit
  Knotenausfall wird automatisch
behandelt
1
2
5
Client
4
3
© WidasConcepts
Skalierbarkeit Cassandra im Vergleich
9
Anzahl Operationen (Read/Write) pro Sec – Anzahl Knoten
Quelle: Planet Cassandra
© WidasConcepts
SPARK
Spark
11
Kernelemente
1
Verarbeitung im DAG (Directed Acyclic Graph)
2
3
Scala
4
lokale JVM Prozesse auf den Knoten
5
6
Resilent Distributed Datasets
parallele Transformationen/Aktionen auf RDDs
Operationen: map, filter, groupBy …
Aktionen: count, collect, save …
© WidasConcepts
Spark - RDD
12
Resilent Distributed Datasets
1
immutable
2
3
logical collection of records
4
rebuildable
5
6
partitioned
materialized in memory
cached for future reuse
© WidasConcepts
Spark – RDD – Transformationen und Aktionen (parallel)
Transformationen
map
filter
groupByKey
join
…
13
Aktionen
reduce
collect
count
lookupKey
…
© WidasConcepts
Spark – RDD – Resilent
14
Resilent Distributed Datasets
speichern ihre Herkunft (Lineage)
damit kann jederzeit bei Ausfall
die entsprechende Partition der RDD neu aufgebaut werden
HdfsRDD
path: hdfs://…
FilteredRDD
func:
contains(...)
MappedRDD
func: split(…)
CachedRDD
© WidasConcepts
Spark Performanz im Vergleich
15
Logistic Regression
127 s / iteration first iteration 174 s further iterations 6 s Quelle: University of California, Berkeley
© WidasConcepts
Spark Stack
Spark 16
Spark Streaming MLLib GraphX machine SQL learning real-­‐time Classification spez. RDDs Verarbeitung Clustering Operationen von D
aten i
n HiveQL Regressing PageRank “micro” kompatibel SVD++ Batches col. Filtering Spark © WidasConcepts
Integration
Spark &
Cassandra
Integration – Spark & Cassandra
18
mit Spark-Cassandra Connector
Cassandra Tabellen sind als RDDs verfügbar
auf jedem Cassandra Knoten wird ein Spark Executor eingesetzt
1
2
5
4
3
© WidasConcepts
Vorteile der Integration zwischen Spark und Cassandra
1
Daten Lokalität, Token-Aware
2
Spark RDDs auf In Memory C* Tabellen
3
SQL auf Cassandra (Joins!)
4
Datenbank-basierte Filter in Spark
5
6
19
Spark Streaming wird unterstützt
Beide Richtungen: Read and Write
© WidasConcepts
Spark
Streaming
Spark Streaming
Datenstrom 21
Spark Streaming Batches Ergebnisse Spark © WidasConcepts
Spark Streaming
1
22
Integrierbar mit Cassandra/Spark Treiber
2
Micro Batches (1 Sek), Discretized Streams
3
Exactly Once Semantik
4
RDD Funktionalität
5
Integration diverser MQ (z.B. Kafka)
© WidasConcepts
Umfeld
Weiterentwicklungen im Spark Umfeld
1
SparkR, PySpark
2
Spark Integration in R
3
lapply Implementierung
4
kann in Closures in R verwendet werden
5
6
24
Interaktives R mit Spark möglich
auf Daten in Cassandra
© WidasConcepts
In Zukunft ?
Trennung wirklich „noch“ notwendig ?
26
© WidasConcepts
Ist das nicht ein zu „großer“ Toolstack?
27
© WidasConcepts
Vielleicht etwas einfacher?
28
© WidasConcepts
Die Lösung für Analytics? (mit etwas HDFS)
29
© WidasConcepts
30
Wir beraten Sie gerne
HighEnd-Technology requires HighEnd-Competence
WidasConcepts
(
Thomas Mann, Solution Architect
Telefon:
Mobile:
+49 (7044) 95103 – 100
+49 162 259 56 90
Mail:
[email protected]
WidasConcepts GmbH
Maybachstraße 2
71299 Wimsheim
www.widas.de
Dieses Dokument wurde von WidasConcepts erstellt. Die Verteilung, Zitierung und Vervielfältigung – auch auszugsweise – zum Zwecke der
Weitergabe an Dritte ist nur mit vorheriger schriftlicher Zustimmung von WidasConcepts gestattet.
This presentation was created by WidasConcepts. Distribution, citation, copying - completely or in extracts – for transfer purposes, is only
permitted with prior written agreement. These abstracts and graphics were deployed by WidasConcepts within the scope of a presentation.
It is no complete documentation of this event.
Herunterladen