SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Analytics meets Big Data
R/Python auf der Hadoop/Spark-Plattform
Berlin, 03. November 2015 (Predictive Analytics World)
Dr. Henrik Behrens
Principal Big Data Analytics
Business Unit Big Data
Henrik.Behrens@SHS-VIVEON.com
Dr. Annina Neumann
Head of Data Science
Business Unit Big Data
Annina.Neumann@SHS-VIVEON.com
©SHSVIVEON
SHS VIVEON Gruppe: Überblick
Facts & Figures
(Stand 2014)
SHS VIVEON GRUPPE
Umsatz: 24,3 Mio., EK-Quote: 52,1%
Geschäftsbereiche
VALUE
12 Mio. Umsatz (GJ 2014)
RISK
12,2 Mio. Umsatz (GJ 2014)
Geschäftsmodelle und
Servicearten
Business- und IT-Beratung, Lösung:
Customer Management Suite, Services
(Campaign, Analytics) & Wartung
Business- und IT-Beratung,
Software/Lösungen: DebiTEX, RiskSuite &
proofitBOX, Services (Compliance, Fraud) &
Wartung
Zielbranchen
Kunden (Auszug)
Finanzdienst- Industrie & Retail & Telekommunikation
leistungen Handel (B2B) eCommerce (B2C) & Medien
03.11.2015SHS VIVEON Seite 2
Big Data
CRM
Consultg.
Business
Informat.
Mgnt.
IT
Solutions
©SHSVIVEON
• Einführung in Spark
• Recommender-Algorithmen
• Demo 1: User-based Recommender mit R
• Demo 2: User-based Recommender mit Spark DataFrames
• Demo 3: ALS-Recommender mit Spark MLlib
• Fazit, Learnings und Diskussion
Die Demos können (bei vorhandener Installation) jetzt
oder später auf dem eigenen Rechner nachvollzogen werden.
Seite 3SHS VIVEON
Analytics meets Big Data
03.11.2015
©SHSVIVEON
Seite 4SHS VIVEON
Einführung in Spark
03.11.2015
©SHSVIVEON
Spark ist eine der leistungsfähigsten Clustertechnologien,
die es gibt, und übertrifft auch Hadoop/MapReduce bei weitem!
Seite 5SHS VIVEON 03.11.2015
Hadoop MapReduce
Laufzeit
(Minuten)
Clustergröße
(Nodes)
72
23
206 2100
Spark
Ressourcenverbrauch beim Greysort-Contest (100 TB)
Weltrekord von Spark, aufgestellt im November 2014,
für das Sortieren von großen Datenmengen
• Spark verwendet das Hadoop-Filesystem (HDFS)
• Spark löst MapReduce auf der Hadoop-Plattform ab
und ist inzwischen Teil von Hadoop geworden.
©SHSVIVEON
Seite 6SHS VIVEON 03.11.2015
Während wir bei R und Python in der Regel mit den Ressourcen eines Servers
auskommen müssen, bietet Spark praktisch unlimitierte Rechenleistung.
• R, Python sind Single-Server-Systeme
• Hauptspeicher maximal wenige Terabyte
• CPU-Cores höchstens ein paar Dutzend
• Nur eine Handvoll Festplatten
(aber die meisten Algorithmen laufen im Hauptspeicher)
• Spark ist ein Cluster-System
• Mehrere hundert Server können zusammengeschlossen werden
• Die Daten verteilen sich auf mehrere Executor-Prozesse pro Server,
die von einem Driver-Prozess gesteuert werden
• Hauptspeicher und Festplattenplatz nahezu unbegrenzt
• Aber: Die Algorithmen müssen auf verteilte Verarbeitung ausgelegt sein!
©SHSVIVEON
Spark gilt als „Schweizer Taschenmesser für Big Data“, d.h. man kann
unterschiedliche Anforderungen mit Spark bedienen!
SHS VIVEON 03.11.2015 Seite 7
Spark Engine
Distributed Processing / In-Memory-Processing Platform
Spark
Streaming
(Micro Batches)
Spark
(Batch
Processing)
Spark GraphX
(Graph
Processing)
Spark MLlib
(Machine
Learning)
Spark SQL
(SQL
queries)
Für Analytische Zwecke sind Spark SQL und Spark MLlib am interessantesten.
©SHSVIVEON
Seite 8SHS VIVEON 03.11.2015
Spark kann in mehreren Sprachen programmiert werden, die Unterschiede
sind hauptsächlich syntaktisch, in Spark läuft der gleiche (Scala)-Code.
val df = sqlContext.read.json("people.json")
df.show()
Scala
DataFrame df = sqlContext.read.json("people.json")
df.show()
Java
df = sqlContext.read.json("people.json")
df.show()
Python
df <- jsonFile(sqlContext, "people.json")
showDF(df)
R
Leider ist die R-Unterstützung derzeit
noch etwas lückenhaft, deshalb verwenden wir Python.
©SHSVIVEON
Seite 9SHS VIVEON 03.11.2015
Ähnlich wie bei R gibt es in Spark für ein Problem unterschiedliche
Lösungsmöglichkeiten und Datenstrukturen.
• Vektoren/Matrizen aus den Libraries der verwendeten Programmiersprache
• Dann bleibt die Hauptspeicherbegrenzung aber bestehen
• Spark RDDs (Resilient Distributed Datasets)
• Key-Value-Paare als zentrale Datenstruktur
• Spark DataFrames
• Tabellen als Datenstruktur
• SQL-ähnliche Arbeitsweise
• Spark-Vektoren und Matrizen
• Local Vector, Local Matrix
• Distributed Matrix (mehrere Varianten)
• Spark MLLib-Bibliothek
• Am einfachsten, denn dann passiert alles als BlackBox im Hintergrund 
©SHSVIVEON
Seite 10SHS VIVEON
Recommender-Algorithmen
03.11.2015
©SHSVIVEON
Seite 11SHS VIVEON
• Recommender-Systeme
• Empfehle einem User die Items (Produkte), die er besonders mögen wird
• Begrenzte Anzahl von Empfehlungen
• Schätze, wie ein User die verfügbaren Produkte bewerten würde
• Berechne eine Bewertungsmatrix
für User/Item-Kombinationen
• Grundlage für die Empfehlungen
• Eigenschaften der Produkte (Content Based Recommender)
• Meinungen anderer User (Collaborative Filtering)
Wir beschränken uns auf diese Alternativen!
03.11.2015
Für “Big Data Analytics” gibt es viele Anwendungsfälle,
in diesem Vortrag fokussieren wir auf Recommender-Systeme.
©SHSVIVEON
Seite 12SHS VIVEON 03.11.2015
Das zentrale Element beim Collaborative Filtering
ist die Bewertungsmatrix (Utility Matrix) User U -> Item I
U1
U2
U3
U4
i1
4
i2 i3 i4 i5 i6 i7 i8
3 5 2 1
5 4 5 2 1
1 2 4 4
3 2 3 5 4 5
2
Bewertungsmatrix(1=schlecht, 5=gut)
User-Ähnlichkeit
• User U1 und U2 bewerten „ähnlich“
Favoriten: i1 bis i4
• User U3 und U4 bewerten „ähnlich“
Favoriten: i5 bis i8
3
Zentrale Annahme des Collaborative Filtering:
User mit ähnlichen User-Bewertungsvektoren
würden auch weitere Items ähnlich bewerten.
?
?
?
?
?
?
?
?
?
?
©SHSVIVEON
Seite 13SHS VIVEON 03.11.2015
Der User-Based-Recommender-Algorithmus
besteht aus zwei Schritten
• Berechne die Ähnlichkeit (Cosine Similarity) der User-Bewertungsvektoren
für alle User-User-Kombinationen (U1,U2)
• Das Ergebnis wird einer Matrix gespeichert (Similarity Matrix)
• Um das Rating für User U und Item I zu vorherzusagen,
• suche andere User, die das Item I bewertet haben
• filtere diese User nach denen, die zum User U ähnlich sind
• bilde den Mittelwert von deren Bewertung für I
In den nun folgenden Demos mit R und Spark
machen wir eine Vorhersage von Bewertungen, die wir bereits kennen.
 Qualität der Vorhersage kann überprüft werden
©SHSVIVEON
Seite 14SHS VIVEON
Demo 1: User based Recommender Beispiel in R
03.11.2015
©SHSVIVEON
Seite 15SHS VIVEON
Demo 2: User based Recommender mit Spark DataFrames
03.11.2015
©SHSVIVEON
Seite 16SHS VIVEON 03.11.2015
Bei Spark dürfen wir wegen des Overheads verteilter Operationen
nicht mit Schleifen arbeiten, daher “vektorisieren” wir den Algorithmus.
Bewertungs-
matrix
Join mit sich selbst
über MovieID und Multiplikation Zähler
des Similarity-
BruchsSummierung pro User1,User2
Bewertungs-
matrix
Zähler
des Similarity-
Bruchs
Gruppierung nach User
Summierung pro User
und Wurzelziehung
Similarity-
Matrix
Join
©SHSVIVEON
Seite 17SHS VIVEON
Demo 3: ALS-Recommender mit Spark MLlib
03.11.2015
©SHSVIVEON
Die Machine Learning Library verfügt bereits über eine Reihe wichtiger
Modelle, und die Liste verlängert sich mit jeder neuen Version.
SHS VIVEON 03.11.2015 Seite 18
©SHSVIVEON
Seite 19SHS VIVEON 03.11.2015
Als dritte Demo zeigen wir eine Implementierung, die
auf einer Faktorisierung der Bewertungsmatrix beruht.
©SHSVIVEON
Seite 20SHS VIVEON
Fazit, Learnings und Diskussion
03.11.2015
©SHSVIVEON
Seite 21SHS VIVEON 03.11.2015
Fazit:
Der Schritt in die Welt des Cluster-Computing kommt nicht ganz umsonst.
• Spark DataFrames und Spark
SQL ermöglicht einen einfachen
Einstieg und eigenen sich auch
für die Datenvorverarbeitung und
Ergebnisaufbereitung.
• Die MLlib bietet viele wichtige
Algorithmen leicht verwendbar
„out-of-the-box“.
• IPython-Notebooks bieten eine
praktische Weboberfläche und
erlauben auch die Einbindung
graphischer Visualisierungen.
• Der Cluster wird erst genutzt,
wenn man verteilte
Datenstrukturen verwendet.
• Die verteilten Datenstrukturen
von Spark sind immutable, also
nicht modifizierbar.
• Das Entwickeln neuer verteilter
Algorithmen erfordert eine
Einarbeitung in die verfügbaren
verteilten Datenstrukturen.
Pro Contra
©SHSVIVEON
Seite 22SHS VIVEON 03.11.2015
Unsere Learnings
• Der User-based-Algorithmus skaliert nicht gut: O(User*User*Item)
• Bei R sollte man Schleifen unbedingt vermeiden (hohe Laufzeit).
Eine vektorisierte Lösung kann um den Faktor 100 schneller sein (SIMD-
Instruktionen!)
• Das gleiche gilt noch mehr für Spark (Overhead 0,5 s für die Parallelisierung).
• Die Verwendung von Joins zur Berechnung von Matrixmultiplikationen ist
suboptimal (temporär große Datenmenge).
• Statt dessen sollte man in Spark auf verteilte Blockmatrizen ausweichen (siehe
BlockMatrix, oder auf dünnbesetzte Matritzen (SparseMatrix, beides bisher nur
in Scala).
• Durch Clustering von Kunden und/oder Items kann die Skalierbarkeit erheblich
verbessert werden, mit einem geringen Verlust an Genauigkeit (Rajamaran).
• Gibt es mehr User als Items, skaliert ein Item-based-Ansatz besser.
• Modellbasierte Ansätze (z.B. Faktorisierung der Bewertungsmatrix) skaliert gut
und ist in der Spark MLlib bereits implementiert (wir haben eine Zugabe-Demo!)
©SHSVIVEON
Was ist relevanter – Technik
oder Methodik?
03.11.2015 Seite 23SHS VIVEON
Anregungen zur Diskussion
Bringen Big Data
Technologien einen
Paradigmenwechsel für
Analytics?
Wie viel Bedarf an hoher
Rechenleistung besteht in
der Praxis?
Fachlich intuitive
Programmierung vs.
technisch optimierte?
Wofür können wir Big Data
Technologien im Predictive
Analytics Umfeld sinnvoll
einsetzen?
Müssen sich Big Data &
klassische Business-
Fragestellungen noch
annähern?
©SHSVIVEON
Vielen Dank!
Seite 24SHS VIVEON
Dr. Henrik Behrens
Principal
Business Unit Big Data
Henrik.Behrens@SHS-VIVEON.com
03.11.2015
Dr. Annina Neumann
Head of Data Science
Business Unit Big Data
Annina.Neumann@SHS-VIVEON.com
©SHSVIVEON
HEADQUARTERS
SHS VIVEON AG
Clarita-Bernhard-Str. 27
81249 München
T +49 89 74 72 57 - 0
F +49 89 74 72 57 - 900
Info@SHS-VIVEON.com
www.SHS-VIVEON.com
Seite 25SHS VIVEON
WEITERE STANDORTE
SHS VIVEON AG
Geschäftsstelle Düsseldorf
Cecilienallee 7
40474 Düsseldorf
SHS VIVEON AG
Geschäftsstelle Kastl
Rudolf-Diesel-Straße 3
84556 Kastl
SHS VIVEON AG
Geschäftsstelle Stuttgart
Nikolaus-Otto-Straße 13
70771 Leinfelden-Echterdingen
SHS VIVEON AG
Geschäftsstelle Wien
Seidengasse 9/2
1070 Wien
TOCHTERGESELLSCHAFTEN
SHS VIVEON GmbH
Cecilienallee 7
40474 Düsseldorf
SHS VIVEON Schweiz AG
Badenerstraße 808
8048 Zürich
GUARDEAN GmbH
Clarita-Bernhard-Str. 27
81249 München
03.11.2015

Weitere ähnliche Inhalte

Was ist angesagt?

Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Harald Erb
 
Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)AWS Germany
 
Daten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataDaten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataAWS Germany
 
Data Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeData Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeTorsten Glunde
 
Aktuelle Trends in der Visualisierung von Informationen
Aktuelle Trends in der Visualisierung von InformationenAktuelle Trends in der Visualisierung von Informationen
Aktuelle Trends in der Visualisierung von InformationenBARC GmbH
 
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...Business Intelligence Research
 

Was ist angesagt? (9)

Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!
 
Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)Big Data Webinar (Deutsch)
Big Data Webinar (Deutsch)
 
Daten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataDaten ohne Grenzen – Big Data
Daten ohne Grenzen – Big Data
 
IT Trends 2011 - und welchen Einfluss Business Analytics darauf hat
IT Trends 2011 - und welchen Einfluss Business Analytics darauf hatIT Trends 2011 - und welchen Einfluss Business Analytics darauf hat
IT Trends 2011 - und welchen Einfluss Business Analytics darauf hat
 
Wirksames Stammdatenmanagement
Wirksames StammdatenmanagementWirksames Stammdatenmanagement
Wirksames Stammdatenmanagement
 
Big Data und Business Intelligence
Big Data und Business IntelligenceBig Data und Business Intelligence
Big Data und Business Intelligence
 
Data Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeData Quadrant - Daten Management Methode
Data Quadrant - Daten Management Methode
 
Aktuelle Trends in der Visualisierung von Informationen
Aktuelle Trends in der Visualisierung von InformationenAktuelle Trends in der Visualisierung von Informationen
Aktuelle Trends in der Visualisierung von Informationen
 
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...
Beyond SAP - Effektive Nutzung von Business Content durch In-Memory-OLAP und ...
 

Andere mochten auch

DNA Information and Creation (PDF)
DNA Information and Creation (PDF)DNA Information and Creation (PDF)
DNA Information and Creation (PDF)Hans Rudolf Tremp
 
System biology and its tools
System biology and its toolsSystem biology and its tools
System biology and its toolsGaurav Diwakar
 
PO WER - XX LO Gdańsk - Alan Turing
PO WER - XX LO Gdańsk - Alan TuringPO WER - XX LO Gdańsk - Alan Turing
PO WER - XX LO Gdańsk - Alan TuringAgnieszka J.
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102remko caprio
 
Jupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleJupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleMatthias Bussonnier
 
Computational Biology and Bioinformatics
Computational Biology and BioinformaticsComputational Biology and Bioinformatics
Computational Biology and BioinformaticsSharif Shuvo
 
Computational Systems Biology (JCSB)
Computational Systems Biology (JCSB)Computational Systems Biology (JCSB)
Computational Systems Biology (JCSB)Annex Publishers
 
Data Scientist - The Sexiest Job of the 21st Century?
Data Scientist - The Sexiest Job of the 21st Century?Data Scientist - The Sexiest Job of the 21st Century?
Data Scientist - The Sexiest Job of the 21st Century?IoT User Group Hamburg
 
Systems biology: Bioinformatics on complete biological system
Systems biology: Bioinformatics on complete biological systemSystems biology: Bioinformatics on complete biological system
Systems biology: Bioinformatics on complete biological systemLars Juhl Jensen
 
Day in the Life of a Computer Scientist
Day in the Life of a Computer ScientistDay in the Life of a Computer Scientist
Day in the Life of a Computer ScientistJustin Brunelle
 
Tutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer WorkshopTutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer WorkshopVivek Krishnakumar
 
The Computer Scientist and the Cleaner v4
The Computer Scientist and the Cleaner v4The Computer Scientist and the Cleaner v4
The Computer Scientist and the Cleaner v4turingfan
 
Computational Approaches to Systems Biology
Computational Approaches to Systems BiologyComputational Approaches to Systems Biology
Computational Approaches to Systems BiologyMike Hucka
 
Multi-omics infrastructure and data for R/Bioconductor
Multi-omics infrastructure and data for R/BioconductorMulti-omics infrastructure and data for R/Bioconductor
Multi-omics infrastructure and data for R/BioconductorLevi Waldron
 

Andere mochten auch (20)

Zwischen Browser, Code & Photoshop - aus dem Leben eines Webworkers
Zwischen Browser, Code & Photoshop - aus dem Leben eines WebworkersZwischen Browser, Code & Photoshop - aus dem Leben eines Webworkers
Zwischen Browser, Code & Photoshop - aus dem Leben eines Webworkers
 
DNA Information and Creation (PDF)
DNA Information and Creation (PDF)DNA Information and Creation (PDF)
DNA Information and Creation (PDF)
 
System biology and its tools
System biology and its toolsSystem biology and its tools
System biology and its tools
 
Python for Data Science
Python for Data SciencePython for Data Science
Python for Data Science
 
Donald Knuth
Donald KnuthDonald Knuth
Donald Knuth
 
PO WER - XX LO Gdańsk - Alan Turing
PO WER - XX LO Gdańsk - Alan TuringPO WER - XX LO Gdańsk - Alan Turing
PO WER - XX LO Gdańsk - Alan Turing
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language WorkshopLSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102
 
Job ppt1
Job ppt1Job ppt1
Job ppt1
 
Jupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleJupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at Scale
 
Computational Biology and Bioinformatics
Computational Biology and BioinformaticsComputational Biology and Bioinformatics
Computational Biology and Bioinformatics
 
Computational Systems Biology (JCSB)
Computational Systems Biology (JCSB)Computational Systems Biology (JCSB)
Computational Systems Biology (JCSB)
 
Data Scientist - The Sexiest Job of the 21st Century?
Data Scientist - The Sexiest Job of the 21st Century?Data Scientist - The Sexiest Job of the 21st Century?
Data Scientist - The Sexiest Job of the 21st Century?
 
Systems biology: Bioinformatics on complete biological system
Systems biology: Bioinformatics on complete biological systemSystems biology: Bioinformatics on complete biological system
Systems biology: Bioinformatics on complete biological system
 
Day in the Life of a Computer Scientist
Day in the Life of a Computer ScientistDay in the Life of a Computer Scientist
Day in the Life of a Computer Scientist
 
Tutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer WorkshopTutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer Workshop
 
The Computer Scientist and the Cleaner v4
The Computer Scientist and the Cleaner v4The Computer Scientist and the Cleaner v4
The Computer Scientist and the Cleaner v4
 
Computational Approaches to Systems Biology
Computational Approaches to Systems BiologyComputational Approaches to Systems Biology
Computational Approaches to Systems Biology
 
Multi-omics infrastructure and data for R/Bioconductor
Multi-omics infrastructure and data for R/BioconductorMulti-omics infrastructure and data for R/Bioconductor
Multi-omics infrastructure and data for R/Bioconductor
 

Ähnlich wie Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform

Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data KonnektivitätTrivadis
 
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftGeänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftISR Information Products AG
 
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OO
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OOGobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OO
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OOGobas GmbH
 
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und HadoopLogical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und HadoopOPITZ CONSULTING Deutschland
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunk
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunk
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaGeorg Knon
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...Schlomo Schapiro
 
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Harald Erb
 
Machine Learning
Machine LearningMachine Learning
Machine LearningSplunk
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatengeKarin Patenge
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Torsten Winterberg
 
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?KurtStockinger
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieJens Albrecht
 
Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitAWS Germany
 
Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Harald Erb
 

Ähnlich wie Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform (20)

Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
 
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftGeänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
 
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OO
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OOGobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OO
Gobas q.trans - modellgetriebene Softwareentwicklung mit SAP® ABAP OO
 
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und HadoopLogical Data Warehouse - SQL mit Oracle DB und Hadoop
Logical Data Warehouse - SQL mit Oracle DB und Hadoop
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
 
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
Endeca Web Acquisition Toolkit - Integration verteilter Web-Anwendungen und a...
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
 
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?
 
Frameworks und Prozessoren
Frameworks und ProzessorenFrameworks und Prozessoren
Frameworks und Prozessoren
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Kevin Hofer
Kevin HoferKevin Hofer
Kevin Hofer
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur Technologie
 
Splunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit SplunkSplunk Webinar: Machine Learning mit Splunk
Splunk Webinar: Machine Learning mit Splunk
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
 
Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen Do you know what k-Means? Cluster-Analysen
Do you know what k-Means? Cluster-Analysen
 

Mehr von Rising Media Ltd.

Data Science at Roche: From Exploration to Productionization - Frank Block
Data Science at Roche: From Exploration to Productionization - Frank BlockData Science at Roche: From Exploration to Productionization - Frank Block
Data Science at Roche: From Exploration to Productionization - Frank BlockRising Media Ltd.
 
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...Rising Media Ltd.
 
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedUplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedRising Media Ltd.
 
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...Rising Media Ltd.
 
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...Rising Media Ltd.
 
Creating Community at WeWork through Graph Embeddings with node2vec - Karry Lu
Creating Community at WeWork through Graph Embeddings with node2vec - Karry LuCreating Community at WeWork through Graph Embeddings with node2vec - Karry Lu
Creating Community at WeWork through Graph Embeddings with node2vec - Karry LuRising Media Ltd.
 
More than 10 Blue Links: Advanced-Level SERP Optimisation
More than 10 Blue Links: Advanced-Level SERP OptimisationMore than 10 Blue Links: Advanced-Level SERP Optimisation
More than 10 Blue Links: Advanced-Level SERP OptimisationRising Media Ltd.
 
How to Get Great Results Across Every Marketing Channel
How to Get Great Results Across Every Marketing ChannelHow to Get Great Results Across Every Marketing Channel
How to Get Great Results Across Every Marketing ChannelRising Media Ltd.
 
Don’t Freak Out! Tips for Mobile and Voice Search
Don’t Freak Out! Tips for Mobile and Voice SearchDon’t Freak Out! Tips for Mobile and Voice Search
Don’t Freak Out! Tips for Mobile and Voice SearchRising Media Ltd.
 
The Scout24 Data Landscape Manifesto: Building an Opinionated Data Platform
The Scout24 Data Landscape Manifesto: Building an Opinionated Data PlatformThe Scout24 Data Landscape Manifesto: Building an Opinionated Data Platform
The Scout24 Data Landscape Manifesto: Building an Opinionated Data PlatformRising Media Ltd.
 
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei Unitymedia
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei UnitymediaPrescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei Unitymedia
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei UnitymediaRising Media Ltd.
 
Reinforcement Learning - Learning from Experience like a Human
Reinforcement Learning - Learning from Experience like a HumanReinforcement Learning - Learning from Experience like a Human
Reinforcement Learning - Learning from Experience like a HumanRising Media Ltd.
 
Mindful Analytics - Wie Achtsamkeit uns noch besser macht
Mindful Analytics - Wie Achtsamkeit uns noch besser machtMindful Analytics - Wie Achtsamkeit uns noch besser macht
Mindful Analytics - Wie Achtsamkeit uns noch besser machtRising Media Ltd.
 
Data Science Development with Impact
Data Science Development with ImpactData Science Development with Impact
Data Science Development with ImpactRising Media Ltd.
 
Predictive Analytics World for Business Deutschland 2018
Predictive Analytics World for Business Deutschland 2018Predictive Analytics World for Business Deutschland 2018
Predictive Analytics World for Business Deutschland 2018Rising Media Ltd.
 
Predictive Analytics World for Business Germany 2018
Predictive Analytics World for Business Germany 2018Predictive Analytics World for Business Germany 2018
Predictive Analytics World for Business Germany 2018Rising Media Ltd.
 
The Centrality of a Detailed Understanding of your Audience
The Centrality of a Detailed Understanding of your AudienceThe Centrality of a Detailed Understanding of your Audience
The Centrality of a Detailed Understanding of your AudienceRising Media Ltd.
 
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...Rising Media Ltd.
 
SpiegelMining – Data Science auf Spiegel Online
SpiegelMining – Data Science auf Spiegel Online SpiegelMining – Data Science auf Spiegel Online
SpiegelMining – Data Science auf Spiegel Online Rising Media Ltd.
 

Mehr von Rising Media Ltd. (20)

Data Science at Roche: From Exploration to Productionization - Frank Block
Data Science at Roche: From Exploration to Productionization - Frank BlockData Science at Roche: From Exploration to Productionization - Frank Block
Data Science at Roche: From Exploration to Productionization - Frank Block
 
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
 
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedUplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
 
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...
Behind the Buzzword: Understanding Customer Data Platforms in the Light of Pr...
 
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...
Data Science Development Lifecycle - Everyone Talks About it, Nobody Really K...
 
Creating Community at WeWork through Graph Embeddings with node2vec - Karry Lu
Creating Community at WeWork through Graph Embeddings with node2vec - Karry LuCreating Community at WeWork through Graph Embeddings with node2vec - Karry Lu
Creating Community at WeWork through Graph Embeddings with node2vec - Karry Lu
 
More than 10 Blue Links: Advanced-Level SERP Optimisation
More than 10 Blue Links: Advanced-Level SERP OptimisationMore than 10 Blue Links: Advanced-Level SERP Optimisation
More than 10 Blue Links: Advanced-Level SERP Optimisation
 
How to Get Great Results Across Every Marketing Channel
How to Get Great Results Across Every Marketing ChannelHow to Get Great Results Across Every Marketing Channel
How to Get Great Results Across Every Marketing Channel
 
Don’t Freak Out! Tips for Mobile and Voice Search
Don’t Freak Out! Tips for Mobile and Voice SearchDon’t Freak Out! Tips for Mobile and Voice Search
Don’t Freak Out! Tips for Mobile and Voice Search
 
The Scout24 Data Landscape Manifesto: Building an Opinionated Data Platform
The Scout24 Data Landscape Manifesto: Building an Opinionated Data PlatformThe Scout24 Data Landscape Manifesto: Building an Opinionated Data Platform
The Scout24 Data Landscape Manifesto: Building an Opinionated Data Platform
 
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei Unitymedia
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei UnitymediaPrescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei Unitymedia
Prescriptive ohne Predictive: Regression ist noch nicht tot! ROMI bei Unitymedia
 
Reinforcement Learning - Learning from Experience like a Human
Reinforcement Learning - Learning from Experience like a HumanReinforcement Learning - Learning from Experience like a Human
Reinforcement Learning - Learning from Experience like a Human
 
Mindful Analytics - Wie Achtsamkeit uns noch besser macht
Mindful Analytics - Wie Achtsamkeit uns noch besser machtMindful Analytics - Wie Achtsamkeit uns noch besser macht
Mindful Analytics - Wie Achtsamkeit uns noch besser macht
 
Data Science Development with Impact
Data Science Development with ImpactData Science Development with Impact
Data Science Development with Impact
 
Predictive Analytics World for Business Deutschland 2018
Predictive Analytics World for Business Deutschland 2018Predictive Analytics World for Business Deutschland 2018
Predictive Analytics World for Business Deutschland 2018
 
Predictive Analytics World for Business Germany 2018
Predictive Analytics World for Business Germany 2018Predictive Analytics World for Business Germany 2018
Predictive Analytics World for Business Germany 2018
 
The Centrality of a Detailed Understanding of your Audience
The Centrality of a Detailed Understanding of your AudienceThe Centrality of a Detailed Understanding of your Audience
The Centrality of a Detailed Understanding of your Audience
 
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...
Der steinige Weg zum automatisierten Data Science Produkt – Empfehlungen und ...
 
Data Alchemy
Data AlchemyData Alchemy
Data Alchemy
 
SpiegelMining – Data Science auf Spiegel Online
SpiegelMining – Data Science auf Spiegel Online SpiegelMining – Data Science auf Spiegel Online
SpiegelMining – Data Science auf Spiegel Online
 

Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform

  • 1. Analytics meets Big Data R/Python auf der Hadoop/Spark-Plattform Berlin, 03. November 2015 (Predictive Analytics World) Dr. Henrik Behrens Principal Big Data Analytics Business Unit Big Data Henrik.Behrens@SHS-VIVEON.com Dr. Annina Neumann Head of Data Science Business Unit Big Data Annina.Neumann@SHS-VIVEON.com
  • 2. ©SHSVIVEON SHS VIVEON Gruppe: Überblick Facts & Figures (Stand 2014) SHS VIVEON GRUPPE Umsatz: 24,3 Mio., EK-Quote: 52,1% Geschäftsbereiche VALUE 12 Mio. Umsatz (GJ 2014) RISK 12,2 Mio. Umsatz (GJ 2014) Geschäftsmodelle und Servicearten Business- und IT-Beratung, Lösung: Customer Management Suite, Services (Campaign, Analytics) & Wartung Business- und IT-Beratung, Software/Lösungen: DebiTEX, RiskSuite & proofitBOX, Services (Compliance, Fraud) & Wartung Zielbranchen Kunden (Auszug) Finanzdienst- Industrie & Retail & Telekommunikation leistungen Handel (B2B) eCommerce (B2C) & Medien 03.11.2015SHS VIVEON Seite 2 Big Data CRM Consultg. Business Informat. Mgnt. IT Solutions
  • 3. ©SHSVIVEON • Einführung in Spark • Recommender-Algorithmen • Demo 1: User-based Recommender mit R • Demo 2: User-based Recommender mit Spark DataFrames • Demo 3: ALS-Recommender mit Spark MLlib • Fazit, Learnings und Diskussion Die Demos können (bei vorhandener Installation) jetzt oder später auf dem eigenen Rechner nachvollzogen werden. Seite 3SHS VIVEON Analytics meets Big Data 03.11.2015
  • 5. ©SHSVIVEON Spark ist eine der leistungsfähigsten Clustertechnologien, die es gibt, und übertrifft auch Hadoop/MapReduce bei weitem! Seite 5SHS VIVEON 03.11.2015 Hadoop MapReduce Laufzeit (Minuten) Clustergröße (Nodes) 72 23 206 2100 Spark Ressourcenverbrauch beim Greysort-Contest (100 TB) Weltrekord von Spark, aufgestellt im November 2014, für das Sortieren von großen Datenmengen • Spark verwendet das Hadoop-Filesystem (HDFS) • Spark löst MapReduce auf der Hadoop-Plattform ab und ist inzwischen Teil von Hadoop geworden.
  • 6. ©SHSVIVEON Seite 6SHS VIVEON 03.11.2015 Während wir bei R und Python in der Regel mit den Ressourcen eines Servers auskommen müssen, bietet Spark praktisch unlimitierte Rechenleistung. • R, Python sind Single-Server-Systeme • Hauptspeicher maximal wenige Terabyte • CPU-Cores höchstens ein paar Dutzend • Nur eine Handvoll Festplatten (aber die meisten Algorithmen laufen im Hauptspeicher) • Spark ist ein Cluster-System • Mehrere hundert Server können zusammengeschlossen werden • Die Daten verteilen sich auf mehrere Executor-Prozesse pro Server, die von einem Driver-Prozess gesteuert werden • Hauptspeicher und Festplattenplatz nahezu unbegrenzt • Aber: Die Algorithmen müssen auf verteilte Verarbeitung ausgelegt sein!
  • 7. ©SHSVIVEON Spark gilt als „Schweizer Taschenmesser für Big Data“, d.h. man kann unterschiedliche Anforderungen mit Spark bedienen! SHS VIVEON 03.11.2015 Seite 7 Spark Engine Distributed Processing / In-Memory-Processing Platform Spark Streaming (Micro Batches) Spark (Batch Processing) Spark GraphX (Graph Processing) Spark MLlib (Machine Learning) Spark SQL (SQL queries) Für Analytische Zwecke sind Spark SQL und Spark MLlib am interessantesten.
  • 8. ©SHSVIVEON Seite 8SHS VIVEON 03.11.2015 Spark kann in mehreren Sprachen programmiert werden, die Unterschiede sind hauptsächlich syntaktisch, in Spark läuft der gleiche (Scala)-Code. val df = sqlContext.read.json("people.json") df.show() Scala DataFrame df = sqlContext.read.json("people.json") df.show() Java df = sqlContext.read.json("people.json") df.show() Python df <- jsonFile(sqlContext, "people.json") showDF(df) R Leider ist die R-Unterstützung derzeit noch etwas lückenhaft, deshalb verwenden wir Python.
  • 9. ©SHSVIVEON Seite 9SHS VIVEON 03.11.2015 Ähnlich wie bei R gibt es in Spark für ein Problem unterschiedliche Lösungsmöglichkeiten und Datenstrukturen. • Vektoren/Matrizen aus den Libraries der verwendeten Programmiersprache • Dann bleibt die Hauptspeicherbegrenzung aber bestehen • Spark RDDs (Resilient Distributed Datasets) • Key-Value-Paare als zentrale Datenstruktur • Spark DataFrames • Tabellen als Datenstruktur • SQL-ähnliche Arbeitsweise • Spark-Vektoren und Matrizen • Local Vector, Local Matrix • Distributed Matrix (mehrere Varianten) • Spark MLLib-Bibliothek • Am einfachsten, denn dann passiert alles als BlackBox im Hintergrund 
  • 11. ©SHSVIVEON Seite 11SHS VIVEON • Recommender-Systeme • Empfehle einem User die Items (Produkte), die er besonders mögen wird • Begrenzte Anzahl von Empfehlungen • Schätze, wie ein User die verfügbaren Produkte bewerten würde • Berechne eine Bewertungsmatrix für User/Item-Kombinationen • Grundlage für die Empfehlungen • Eigenschaften der Produkte (Content Based Recommender) • Meinungen anderer User (Collaborative Filtering) Wir beschränken uns auf diese Alternativen! 03.11.2015 Für “Big Data Analytics” gibt es viele Anwendungsfälle, in diesem Vortrag fokussieren wir auf Recommender-Systeme.
  • 12. ©SHSVIVEON Seite 12SHS VIVEON 03.11.2015 Das zentrale Element beim Collaborative Filtering ist die Bewertungsmatrix (Utility Matrix) User U -> Item I U1 U2 U3 U4 i1 4 i2 i3 i4 i5 i6 i7 i8 3 5 2 1 5 4 5 2 1 1 2 4 4 3 2 3 5 4 5 2 Bewertungsmatrix(1=schlecht, 5=gut) User-Ähnlichkeit • User U1 und U2 bewerten „ähnlich“ Favoriten: i1 bis i4 • User U3 und U4 bewerten „ähnlich“ Favoriten: i5 bis i8 3 Zentrale Annahme des Collaborative Filtering: User mit ähnlichen User-Bewertungsvektoren würden auch weitere Items ähnlich bewerten. ? ? ? ? ? ? ? ? ? ?
  • 13. ©SHSVIVEON Seite 13SHS VIVEON 03.11.2015 Der User-Based-Recommender-Algorithmus besteht aus zwei Schritten • Berechne die Ähnlichkeit (Cosine Similarity) der User-Bewertungsvektoren für alle User-User-Kombinationen (U1,U2) • Das Ergebnis wird einer Matrix gespeichert (Similarity Matrix) • Um das Rating für User U und Item I zu vorherzusagen, • suche andere User, die das Item I bewertet haben • filtere diese User nach denen, die zum User U ähnlich sind • bilde den Mittelwert von deren Bewertung für I In den nun folgenden Demos mit R und Spark machen wir eine Vorhersage von Bewertungen, die wir bereits kennen.  Qualität der Vorhersage kann überprüft werden
  • 14. ©SHSVIVEON Seite 14SHS VIVEON Demo 1: User based Recommender Beispiel in R 03.11.2015
  • 15. ©SHSVIVEON Seite 15SHS VIVEON Demo 2: User based Recommender mit Spark DataFrames 03.11.2015
  • 16. ©SHSVIVEON Seite 16SHS VIVEON 03.11.2015 Bei Spark dürfen wir wegen des Overheads verteilter Operationen nicht mit Schleifen arbeiten, daher “vektorisieren” wir den Algorithmus. Bewertungs- matrix Join mit sich selbst über MovieID und Multiplikation Zähler des Similarity- BruchsSummierung pro User1,User2 Bewertungs- matrix Zähler des Similarity- Bruchs Gruppierung nach User Summierung pro User und Wurzelziehung Similarity- Matrix Join
  • 17. ©SHSVIVEON Seite 17SHS VIVEON Demo 3: ALS-Recommender mit Spark MLlib 03.11.2015
  • 18. ©SHSVIVEON Die Machine Learning Library verfügt bereits über eine Reihe wichtiger Modelle, und die Liste verlängert sich mit jeder neuen Version. SHS VIVEON 03.11.2015 Seite 18
  • 19. ©SHSVIVEON Seite 19SHS VIVEON 03.11.2015 Als dritte Demo zeigen wir eine Implementierung, die auf einer Faktorisierung der Bewertungsmatrix beruht.
  • 20. ©SHSVIVEON Seite 20SHS VIVEON Fazit, Learnings und Diskussion 03.11.2015
  • 21. ©SHSVIVEON Seite 21SHS VIVEON 03.11.2015 Fazit: Der Schritt in die Welt des Cluster-Computing kommt nicht ganz umsonst. • Spark DataFrames und Spark SQL ermöglicht einen einfachen Einstieg und eigenen sich auch für die Datenvorverarbeitung und Ergebnisaufbereitung. • Die MLlib bietet viele wichtige Algorithmen leicht verwendbar „out-of-the-box“. • IPython-Notebooks bieten eine praktische Weboberfläche und erlauben auch die Einbindung graphischer Visualisierungen. • Der Cluster wird erst genutzt, wenn man verteilte Datenstrukturen verwendet. • Die verteilten Datenstrukturen von Spark sind immutable, also nicht modifizierbar. • Das Entwickeln neuer verteilter Algorithmen erfordert eine Einarbeitung in die verfügbaren verteilten Datenstrukturen. Pro Contra
  • 22. ©SHSVIVEON Seite 22SHS VIVEON 03.11.2015 Unsere Learnings • Der User-based-Algorithmus skaliert nicht gut: O(User*User*Item) • Bei R sollte man Schleifen unbedingt vermeiden (hohe Laufzeit). Eine vektorisierte Lösung kann um den Faktor 100 schneller sein (SIMD- Instruktionen!) • Das gleiche gilt noch mehr für Spark (Overhead 0,5 s für die Parallelisierung). • Die Verwendung von Joins zur Berechnung von Matrixmultiplikationen ist suboptimal (temporär große Datenmenge). • Statt dessen sollte man in Spark auf verteilte Blockmatrizen ausweichen (siehe BlockMatrix, oder auf dünnbesetzte Matritzen (SparseMatrix, beides bisher nur in Scala). • Durch Clustering von Kunden und/oder Items kann die Skalierbarkeit erheblich verbessert werden, mit einem geringen Verlust an Genauigkeit (Rajamaran). • Gibt es mehr User als Items, skaliert ein Item-based-Ansatz besser. • Modellbasierte Ansätze (z.B. Faktorisierung der Bewertungsmatrix) skaliert gut und ist in der Spark MLlib bereits implementiert (wir haben eine Zugabe-Demo!)
  • 23. ©SHSVIVEON Was ist relevanter – Technik oder Methodik? 03.11.2015 Seite 23SHS VIVEON Anregungen zur Diskussion Bringen Big Data Technologien einen Paradigmenwechsel für Analytics? Wie viel Bedarf an hoher Rechenleistung besteht in der Praxis? Fachlich intuitive Programmierung vs. technisch optimierte? Wofür können wir Big Data Technologien im Predictive Analytics Umfeld sinnvoll einsetzen? Müssen sich Big Data & klassische Business- Fragestellungen noch annähern?
  • 24. ©SHSVIVEON Vielen Dank! Seite 24SHS VIVEON Dr. Henrik Behrens Principal Business Unit Big Data Henrik.Behrens@SHS-VIVEON.com 03.11.2015 Dr. Annina Neumann Head of Data Science Business Unit Big Data Annina.Neumann@SHS-VIVEON.com
  • 25. ©SHSVIVEON HEADQUARTERS SHS VIVEON AG Clarita-Bernhard-Str. 27 81249 München T +49 89 74 72 57 - 0 F +49 89 74 72 57 - 900 Info@SHS-VIVEON.com www.SHS-VIVEON.com Seite 25SHS VIVEON WEITERE STANDORTE SHS VIVEON AG Geschäftsstelle Düsseldorf Cecilienallee 7 40474 Düsseldorf SHS VIVEON AG Geschäftsstelle Kastl Rudolf-Diesel-Straße 3 84556 Kastl SHS VIVEON AG Geschäftsstelle Stuttgart Nikolaus-Otto-Straße 13 70771 Leinfelden-Echterdingen SHS VIVEON AG Geschäftsstelle Wien Seidengasse 9/2 1070 Wien TOCHTERGESELLSCHAFTEN SHS VIVEON GmbH Cecilienallee 7 40474 Düsseldorf SHS VIVEON Schweiz AG Badenerstraße 808 8048 Zürich GUARDEAN GmbH Clarita-Bernhard-Str. 27 81249 München 03.11.2015