+ All Categories
Transcript
Page 1: Real Time Analytics with Spring

Real Time Analytics WithSpring

David TuranskiLuke Taylor

Page 2: Real Time Analytics with Spring

Real Time AnalyticsWhat's happening right now?

Event drivenNotify humans or systems in real timeSimple counters and metricsAggregate CountersGauges, Moving AverageComplex Event Processing

Page 3: Real Time Analytics with Spring

Spring XD OverviewOne stop shop for:

Data IngestionRealtime AnalyticsWorkflow OrchestrationData ExportBuilt on existing Spring Assets

Spring Integration, Batch, Data

XD='extreme data'

Page 4: Real Time Analytics with Spring

Spring XDOpen source Apache licenseOut of the box executable servers

not a bunch of jars

Pluggable Module systemConfiguration via High level DSL, CLI, andREST services

Page 5: Real Time Analytics with Spring

Spring XD DSLBased on Unix pipes and filters syntax

http | filehttp --port=8080 | file --rootDir=/data/

'http' and 'file' are Module names

Page 6: Real Time Analytics with Spring

Spring XD Streams

Page 7: Real Time Analytics with Spring

Anatomy of a Stream

Page 8: Real Time Analytics with Spring

XD Single Node

Page 9: Real Time Analytics with Spring

Spring XD TapsA Tap is a stream whose source is a point in anexisting streamTaps are primarily used for real time analysisExample:twittersearch --query=Bieber | file

tap:twittersearch > field-value-counter --

fieldName=entities.hashtags.text

Page 10: Real Time Analytics with Spring

Spring XD MetricsSpring XD provides persistent and inmemoryMetrics RepositoriesMetrics are modules

commonly act as sinks for taps

XD includes the following MetricsCounterField Value CounterAggregate CounterGaugeRich Gauge

See   fordetails.

Spring XD Analytics Documentation

Page 11: Real Time Analytics with Spring

What is GemFire?Pivotal GemFire

Page 12: Real Time Analytics with Spring

GemFire FunctionExecution

Efficient way to process large data volumes"where the data lives"Java code deployed to GemFire server nodesThe Function runs on local cache node andtransports results over the network to theprocess that executed the function (Execution)Function Execution aggregates results using aResultCollector

Page 13: Real Time Analytics with Spring

GemFire Continuous QueryGood for asynchronous notification of dataupdatesClient subscribes to a data query and binds it toa QueryListener callbackGemFire invokes the QueryListener wheneverthe query's result set changes state

Page 14: Real Time Analytics with Spring

The DemoPerform real time analytics on the Twitter streamCreate a Twitter ingest stream with XDCreate taps on the Twitter stream to feed XDMetricsCreate a tap to pull selected data into GemFirefor deeper analysis

Show how to build and deploy a custom processor

Execute a GemFire Function to perform acomplex analysis of hash tagsDashboard web app to view analytics

Page 15: Real Time Analytics with Spring

Demo Componentsgithub.com/dturanski/SpringOne2013

Page 16: Real Time Analytics with Spring

Questions?

Page 17: Real Time Analytics with Spring

© 2013 SpringOne 2GX  Do not distribute without permission

Learn More. StayConnected

Project SitesSpring XD Spring Data GemFire

projects.spring.io/springxd

projects.spring.io/springdatagemfireRelated sessionsThu 12:45 Real Time Event Processing andDecision Making  Lyndon AdamsXD and Pivotal HD Demo  Demo lounge


Top Related