big game data - event tracking mit storm, kestrel und der lambda architektur - data2day 2014
TRANSCRIPT
![Page 1: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/1.jpg)
Big Game Data - Volker Janz
Big Game Data
1
Event Tracking @ InnoGames
![Page 2: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/2.jpg)
Big Game Data - Volker Janz 2
![Page 3: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/3.jpg)
Big Game Data - Volker Janz 3
@prenomenon!
Lead Software Developerš¼
Volker Janz
![Page 4: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/4.jpg)
Big Game Data - Volker Janz 4
![Page 5: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/5.jpg)
Big Game Data - Volker Janz 5
InnoGamesą¹ Free-to-play Onlinespiele
ą¹ Die StƤmme
ą¹ Forge of Empires
ą¹ Grepolis
ą¹ The West
ą¹ 350 Mitarbeiter am Standort Hamburg
ą¹ Mehr als 130 Millionen Registrierungen
ą¹ International
ą¹ Bester Arbeitgeber der Games Branche
![Page 6: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/6.jpg)
Big Game Data - Volker Janz 6
" Was ist Big Data?
Keynote Template
![Page 7: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/7.jpg)
Big Game Data - Volker Janz 7
Was ist Big Data? "
![Page 8: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/8.jpg)
Big Game Data - Volker Janz 8
Was ist Big Data? "
VolumeVarietyVelocity
![Page 9: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/9.jpg)
Big Game Data - Volker Janz 9
ā” Events
Keynote Template
![Page 10: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/10.jpg)
Big Game Data - Volker Janz 10
Events ā”
!Ein Event ist ein Indikator fĆ¼r ein beobachtbares Geschehen
bzw. eine ZustandsƤnderung in Form einer Text Nachricht
welche aktiv sowie passiv durch oder fĆ¼r einen bestimmten,
identifizierbaren Nutzer oder ein System zu einer bestimmten
Zeit ausgelƶst werden kann.
![Page 11: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/11.jpg)
Big Game Data - Volker Janz 11
Events ā”
!Ein Event ist ein Indikator fĆ¼r ein beobachtbares Geschehen
bzw. eine ZustandsƤnderung in Form einer Text Nachricht
welche aktiv sowie passiv durch oder fĆ¼r einen bestimmten,
identifizierbaren Nutzer oder ein System zu einer bestimmten
Zeit ausgelƶst werden kann.
![Page 12: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/12.jpg)
Big Game Data - Volker Janz 12
Events ā”
0.1.0/prog/build/foe/2.0.1/de/4711/2014-10-01T13:37.000Z/ua/kaserne/10/20/15
Identifikatoren Metadaten Parameter
version/category/type/game/sprint/market/player/date/user_agent/param1/ā¦/paramN
![Page 13: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/13.jpg)
Big Game Data - Volker Janz 13
Events ā”
![Page 14: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/14.jpg)
Big Game Data - Volker Janz 14
Events ā”
prog/build
prog/fight
set/change
soci/invite
soci/message
![Page 15: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/15.jpg)
Big Game Data - Volker Janz 15
Events ā”
280M100G3000G
Events / Tag
Daten / Tag
Daten / Monat
![Page 16: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/16.jpg)
Big Game Data - Volker Janz16
Events ā”
" Hadoop
$ GameServer
$ GameServer
$ GameServer
š
š¤
š»
Game Backend Tracking
Drag Your Image Here
![Page 17: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/17.jpg)
Big Game Data - Volker Janz 17
% Event Tracking
Keynote Template
![Page 18: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/18.jpg)
Big Game Data - Volker Janz 18
Event Tracking %
Aller Anfang ist schwer
![Page 19: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/19.jpg)
Big Game Data - Volker Janz 19
Event Tracking %
$ Game Server
'Event
Gateway
Event Client
(Message Queue
)Event
Consumer
Hadoop
š
š¤
š»
Entkoppeln und einfacher einstieg ins System
Buffer und āAuffangbeckenā - Bereitstellung der Events an
Consumer
Konsumieren und Schreiben der Events an die Korrekte
Stelle im HDFS (Partitionierung)
Verteilte Speicherung (HDFS) und Verarbeitung
(MapReduce, Spark)
![Page 20: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/20.jpg)
Big Game Data - Volker Janz 20
'Gateway
(Queue
š»Client
)Consumer
Twitter Kestrel
Apache Storm
Perl Script
REST API mit Dropwizard
Event Tracking %
![Page 21: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/21.jpg)
Big Game Data - Volker Janz 21
Event Tracking %
$ Game Server
'REST API
Perl Script
(Kestrel
Hadoop
'REST API
(Kestrel
LBā”
Storm Cluster
ā³Round Robin
Event File
Backup =nginx access.log +$request_body +logrotate +hadoop fs -put
![Page 22: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/22.jpg)
Big Game Data - Volker Janz 22
( Kestrel
Keynote Template
https://github.com/twitter/kestrel
![Page 23: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/23.jpg)
Big Game Data - Volker Janz 23
Kestrel (
Einfache, verteile Message queue
![Page 24: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/24.jpg)
Big Game Data - Volker Janz 24
Kestrel (
Persistent HƤlt Messages im Speicher fĆ¼r Speed
Schreibt in Journal Dateien fĆ¼r Persistenz
![Page 25: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/25.jpg)
Big Game Data - Volker Janz 25
Kestrel (
ZuverlƤssig Clients kƶnnen Messages āvorlƤufigā lesen Bei Abbruch wird Message āzurĆ¼ckgelegtā
![Page 26: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/26.jpg)
Big Game Data - Volker Janz 26
Kestrel (
Flexibel memcache Protokoll
Einfaches text Protokoll Apache Thrift
![Page 27: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/27.jpg)
Big Game Data - Volker Janz 27
š»
Kestrel (
(geordnet
(geordnet
(locker geordnet
![Page 28: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/28.jpg)
Big Game Data - Volker Janz 28
š»
Kestrel (
(events_queue
(events_queue+fanoutš»
Client 1
Client 2
![Page 29: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/29.jpg)
Big Game Data - Volker Janz 29
Kestrel (
new KestrelConfig { queues = new QueueBuilder() { name = "q" maxItems = 500 } :: new QueueBuilder() { name = "q+fanout" maxAge = 1.minute } :: new QueueBuilder() { name = "x" maxMemorySize = 16.megabytes }}
![Page 30: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/30.jpg)
Big Game Data - Volker Janz 30
Kestrel (
![Page 31: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/31.jpg)
Big Game Data - Volker Janz 31
ā” Storm
Keynote Template
https://github.com/apache/storm
![Page 32: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/32.jpg)
Big Game Data - Volker Janz 32
Storm ā”
Apacheā¢ Storm is a distributed real-time computation system for processing fast, large
streams of data.
![Page 33: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/33.jpg)
Big Game Data - Volker Janz 33
Storm ā”
Schnellā©
1.000.000 100 Byte Nachrichten pro
Sekunde pro Node
Skalierbar,
Parallele, im Cluster verteilte
Berechnung
Fehlertolerantā
Ausfallende Worker und Nodes werden
automatisch kompensiert
ZuverlƤssigā
Garantiert āat least onceā Verarbeitung
von Nachrichten
![Page 34: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/34.jpg)
Big Game Data - Volker Janz 34
Storm ā”
Tupel
Tupel
Tupel
Tupel
Datenstrom
Storm verarbeitet Datenstrƶme aus Tupeln
Ein Tupel ist eine Liste von Werten
![Page 35: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/35.jpg)
Big Game Data - Volker Janz 35
Storm ā”
Spout
Quelle von DatenstrƶmenKestrel Spout https://github.com/nathanmarz/storm-kestrel
![Page 36: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/36.jpg)
Big Game Data - Volker Janz 36
Storm ā”
Verarbeitung von Tupeln
Bolt
![Page 37: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/37.jpg)
Big Game Data - Volker Janz 37
Storm ā”
In Datenbank schreiben
![Page 38: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/38.jpg)
Big Game Data - Volker Janz 38
Storm ā”
Aus Datenbank lesen
![Page 39: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/39.jpg)
Big Game Data - Volker Janz 39
Storm ā”
Optional weitere Tupel / Datenstrƶme erzeugen
HDFS Bolt https://github.com/ptgoetz/storm-hdfs
![Page 40: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/40.jpg)
Big Game Data - Volker Janz 40
Storm ā”
Eine Topologie ist ein gerichteter azyklischer Graph und eine
Komposition aus Spouts und Bolts
![Page 41: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/41.jpg)
Big Game Data - Volker Janz 41
Ī» Lambda Architektur
Keynote Template
![Page 42: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/42.jpg)
Big Game Data - Volker Janz 42
Lambda Architektur Ī»
Abstrakte Architektur fĆ¼r die Realisierung von skalierbaren
Echtzeitsystemen
![Page 43: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/43.jpg)
Big Game Data - Volker Janz 43
Lambda Architektur Ī»
@nathanmarz http://manning.com/marz/
!
š
![Page 44: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/44.jpg)
Big Game Data - Volker Janz 44
Lambda Architektur Ī»
" Datenquellen
Batch Layer
Speed Layer
Serving Layer Query
![Page 45: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/45.jpg)
Big Game Data - Volker Janz 45
Lambda Architektur Ī»
" Datenquellen
Query
Batch Layer
Speed Layer
Serving Layer
Master Datensatz
Batch Viewsā³
Datenstrom Real-Time Viewsā”
Merged View&
![Page 46: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/46.jpg)
Big Game Data - Volker Janz 46
Lambda Architektur Ī»
Messaging System Query
DB / DFSBatch
Processing System
Stream Processing System
DB Batch Views
DB Real-Time Views
Application
![Page 47: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/47.jpg)
Big Game Data - Volker Janz
Hadoop 2 / YARN
Lambda Architektur
47
Ī»
Kestrel Query
HDFS MapReduce / Spark
Storm-YARN
HOYAHue /
Apache Twill / Apache
Slider
![Page 48: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/48.jpg)
Big Game Data - Volker Janz
Hadoop 2 / YARN
Lambda Architektur
48
Ī»
Query
HDFS MapReduce / Spark
Storm-YARN HOYA
HDFS
Apache Mesos
![Page 49: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/49.jpg)
Big Game Data - Volker Janz
Lambda Architektur
49
Ī»
select c.name, hb.tweets.countfrom hive.ods.`customers` cjoin hbase.user.`socialdata` hbon c.customerId = convert_from(hb.rowkey, UTF-8);
http://incubator.apache.org/drill/
Customer in Hadoop / Hive
Tweets in HBase
![Page 50: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/50.jpg)
Big Game Data - Volker Janz 50
$ Game Server
'REST API
Perl Script
(Kestrel
Hadoop
'REST API
(Kestrel
LBā”
Storm Cluster
Event File
Lambda Architektur Ī»
ā³Round Robin
![Page 51: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/51.jpg)
Big Game Data - Volker Janz 51
$ Game Server
'REST API
Perl Script
'REST API
LB ā³
Event File
(Kestrel
(Kestrel
Hadoop
HBASE
ā”
Storm Cluster
Event Consumer
Lambda Architektur Ī»
![Page 52: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/52.jpg)
Big Game Data - Volker Janz 52
$ Game Server
'REST API
Perl Script
'REST API
LB
Event File
(Kestrel
(Kestrel
Hadoop
HBASE
ā”
Storm Cluster
Event Consumer
Lambda Architektur Ī»
ā³
![Page 53: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/53.jpg)
Big Game Data - Volker Janz
ā³
53
$ Game Server
'REST API
Perl Script
'REST API
LB
Event File
(Kestrel
(Kestrel
Hadoop
HBASE
ā”
Storm Cluster
Event ConsumerBatch Layer
Speed Layer Serving
Layer
Datenquelle
Lambda Architektur Ī»
![Page 54: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/54.jpg)
'Mark Twain
If the only tool you have is a hammer, everything
looks like a nail.
![Page 55: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/55.jpg)
2012
![Page 56: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/56.jpg)
'
2014
![Page 57: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/57.jpg)
Big Game Data - Volker Janz 57
! @prenomenon " 0
VIELEN DANK(
de.linkedin.com/in/vjanz/innogames.com jobs.innogames.com blog.innogames.com
![Page 58: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/58.jpg)
Backup Folien
![Page 59: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/59.jpg)
Big Game Data - Volker Janz 59
šSpieler verstehen
und Spiele optimieren š
Ad-hoc Analysen und
automatisiere Reports
š±Mobile
Plattformen differenzieren
Drag Your Image Here
Events ā”
'Datenbereitstellung
fĆ¼r andere Systeme (BI)
ā”Echtzeitanalysen
und Aktionen
![Page 60: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/60.jpg)
Big Game Data - Volker Janz60
Events ā”
š»Client
" Hadoop
$ GameServer
š»Client
$ GameServer
š»Client
$ GameServer
š
š¤
š»
Client Side Tracking
Game Backend Tracking
![Page 61: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/61.jpg)
Big Game Data - Volker Janz 61
Storm ā”
Spouts und Bolts werden als individuelle Tasks parallel im Cluster ausgefĆ¼hrt, die Verteilung der Tupel geschieht durch Stream Grouping
![Page 62: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/62.jpg)
Big Game Data - Volker Janz 62
Storm ā”
public class RedisSpout extends BaseRichSpout {
// ... @Override public void nextTuple() { String message = jedis.rpop(messageQueue);
if(null != message && !message.equals(NIL)) { int pos = message.indexOf(","); String entityId = message.substring(0, pos); String recordData = message.substring(pos+1); collector.emit(new Values(entityId, recordData)); } }
}
![Page 63: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/63.jpg)
Big Game Data - Volker Janz 63
Storm ā”
public
collector } }
}
Kestrel Spout https://github.com/nathanmarz/storm-kestrel
![Page 64: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/64.jpg)
Big Game Data - Volker Janz 64
Storm ā”
public static class WordCount extends BaseBasicBolt { Map<String, Integer> counts = new HashMap<String, Integer>();
@Override public void execute(Tuple tuple, BasicOutputCollector collector) { String sentence = tuple.getString(0);
for (String word : sentence.split(" ")) { collector.emit(tuple, new Values(word)); }
collector.ack(tuple); }
}
![Page 65: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/65.jpg)
Big Game Data - Volker Janz 65
Storm ā”
public
collector }
collector }
}
HDFS Bolt https://github.com/ptgoetz/storm-hdfs
![Page 66: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/66.jpg)
Big Game Data - Volker Janz 66
Storm ā”
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new RandomSentenceSpout(), 5); builder.setBolt("split", new SplitSentence(), 8).shuffleGrouping("spout"); builder.setBolt("count", new WordCount(), 12).fieldsGrouping("split", new Fields("word"));
Config conf = new Config(); conf.setDebug(true);
// ...
LocalCluster cluster = new LocalCluster(); cluster.submitTopology("word-count", conf, builder.createTopology());
Thread.sleep(10000);
cluster.shutdown();}
![Page 67: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/67.jpg)
Big Game Data - Volker Janz 67
Storm ā”
Worker NodeWorker Prozess
Executor
ā
Taskā
Task
ā
Taskā
Task
image
Nimbus
ZK
![Page 68: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/68.jpg)
Big Game Data - Volker Janz 68
Storm ā”
Alternativen?
) http://odysseus.informatik.uni-oldenburg.de/
![Page 69: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/69.jpg)
Big Game Data - Volker Janz 69
Kestrel (
) watch -t -d -n,1 'echo "DUMP_STATS" | nc localhost 22133'
*SET <queue-name> <flags (ignored)> <expiration> <# bytes> echo -e "SET game_events 0 0 16\n0.1.0/prog/build\n" | nc localhost 22133
+GET <queue-name>[options] echo "GET game_events" | nc localhost 22133
![Page 70: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - data2day 2014](https://reader037.vdocument.in/reader037/viewer/2022103117/55a92fd11a28ab34578b4866/html5/thumbnails/70.jpg)
'Albert Einstein
Not everything that can be counted counts. Not everything that
counts can be counted.