1©MapR Technologies - Confidential
Real-time Learning
for Fun and Profit
2©MapR Technologies - Confidential
 Contact:
– tdunning@maprtech.com
– @ted_dunning
 Slides and such (available late tonight):
– http://slideshare.net/tdunning
 Hash tags: #mapr #storm #bbuzz
3©MapR Technologies - Confidential
The Challenge
 Hadoop is great of processing vats of data
– But sucks for real-time (by design!)
 Storm is great for real-time processing
– But lacks any way to deal with batch processing
 It sounds like there isn’t a solution
– Neither fashionable solution handles everything
4©MapR Technologies - Confidential
This is not a problem.
It’s an opportunity!
5©MapR Technologies - Confidential
t
now
Hadoop is Not Very Real-time
Unprocessed
Data
Fully
processed
Latest full
period
Hadoop job
takes this
long for this
data
6©MapR Technologies - Confidential
t
now
Hadoop works
great back here
Storm
works
here
Real-time and Long-time together
Blended
view
Blended
view
Blended
View
7©MapR Technologies - Confidential
One Alternative
Search
Engine
NoSql
de Jour
Consumer
Real-time Long-time
?
8©MapR Technologies - Confidential
Problems
 Simply dumping into noSql engine doesn’t quite work
 Insert rate is limited
 No load isolation
– Big retrospective jobs kill real-time
 Low scan performance
– Hbase pretty good, but not stellar
 Difficult to set boundaries
– where does real-time end and long-time begin?
9©MapR Technologies - Confidential
Almost a Solution
 Lambda architecture talks about function of long-time state
– Real-time approximate accelerator adjusts previous result to current state
 Sounds good, but …
– How does the real-time accelerator combine with long-time?
– What algorithms can do this?
– How can we avoid gaps and overlaps and other errors?
 Needs more work
10©MapR Technologies - Confidential
A Simple Example
 Let’s start with the simplest case … counting
 Counting = addition
– Addition is associative
– Addition is on-line
– We can generalize these results to all associative, on-line functions
– But let’s start simple
11©MapR Technologies - Confidential
Data
Sources
Catcher
Cluster
Rough Design – Data Flow
Catcher
Cluster
Query Event
Spout
Logger
Bolt
Counter
Bolt
Raw
Logs
Logger
Bolt
Semi
Agg
Hadoop
Aggregator
Snap
Long
agg
ProtoSpout
Counter
Bolt
Logger
Bolt
Data
Sources
12©MapR Technologies - Confidential
Closer Look – Catcher Protocol
Data
Sources
Catcher
Cluster
Catcher
Cluster
Data
Sources
The data sources and catchers
communicate with a very simple
protocol.
Hello() => list of catchers
Log(topic,message) =>
(OK|FAIL, redirect-to-catcher)
13©MapR Technologies - Confidential
Closer Look – Catcher Queues
Catcher
Cluster
Catcher
Cluster
The catchers forward log requests
to the correct catcher and return
that host in the reply to allow the
client to avoid the extra hop.
Each topic file is appended by
exactly one catcher.
Topic files are kept in shared file
storage.
Topic
File
Topic
File
14©MapR Technologies - Confidential
Closer Look – ProtoSpout
The ProtoSpout tails the topic files,
parses log records into tuples and
injects them into the Storm
topology.
Last fully acked position stored in
shared, transactionally correct file
system.
Topic
File
Topic
File
ProtoSpout
15©MapR Technologies - Confidential
Closer Look – Counter Bolt
 Critical design goals:
– fast ack for all tuples
– fast restart of counter
 Ack happens when tuple hits the replay log (10’s of milliseconds,
group commit)
 Restart involves replaying semi-agg’s + replay log (very fast)
 Replay log only lasts until next semi-aggregate goes out
Counter
Bolt
Replay
Log
Semi-
aggregated
records
Incoming
records
Real-time Long-time
16©MapR Technologies - Confidential
A Frozen Moment in Time
 Snapshot defines the dividing line
 All data in the snap is long-time, all
after is real-time
 Semi-agg strategy allows clean
combination of both kinds of data
 Data synchronized snap not
needed
Semi
Agg
Hadoop
Aggregator
Snap
Long
agg
17©MapR Technologies - Confidential
Guarantees
 Counter output volume is small-ish
– the greater of k tuples per 100K inputs or k tuple/s
– 1 tuple/s/label/bolt for this exercise
 Persistence layer must provide guarantees
– distributed against node failure
– must have either readable flush or closed-append
 HDFS is distributed, but provides no guarantees and strange
semantics
 MapRfs is distributed, provides all necessary guarantees
18©MapR Technologies - Confidential
Presentation Layer
 Presentation must
– read recent output of Logger bolt
– read relevant output of Hadoop jobs
– combine semi-aggregated records
 User will see
– counts that increment within 0-2 s of events
– seamless and accurate meld of short and long-term data
19©MapR Technologies - Confidential
The Basic Idea
 Online algorithms generally have relatively small state (like
counting)
 Online algorithms generally have a simple update (like counting)
 If we can do this with counting, we can do it with all kinds of
algorithms
20©MapR Technologies - Confidential
Summary – Part 1
 Semi-agg strategy + snapshots allows correct real-time counts
– because addition is on-line and associative
 Other on-line associative operations include:
– k-means clustering (see Dan Filimon’s talk at 16.)
– count distinct (see hyper-log-log counters from streamlib or kmv from
Brickhouse)
– top-k values
– top-k (count(*)) (see streamlib)
– contextual Bayesian bandits (see part 2 of this talk)
21©MapR Technologies - Confidential
Example 2 – AB testing in real-time
 I have 15 versions of my landing page
 Each visitor is assigned to a version
– Which version?
 A conversion or sale or whatever can happen
– How long to wait?
 Some versions of the landing page are horrible
– Don’t want to give them traffic
22©MapR Technologies - Confidential
A Quick Diversion
 You see a coin
– What is the probability of heads?
– Could it be larger or smaller than that?
 I flip the coin and while it is in the air ask again
 I catch the coin and ask again
 I look at the coin (and you don’t) and ask again
 Why does the answer change?
– And did it ever have a single value?
23©MapR Technologies - Confidential
A Philosophical Conclusion
 Probability as expressed by humans is subjective and depends on
information and experience
24©MapR Technologies - Confidential
I Dunno
25©MapR Technologies - Confidential
5 heads out of 10 throws
26©MapR Technologies - Confidential
2 heads out of 12 throws
Mean
Using any single number as a “best”
estimate denies the uncertain nature of
a distribution
Adding confidence bounds still loses most of
the information in the distribution and
prevents good modeling of the tails
27©MapR Technologies - Confidential
Bayesian Bandit
 Compute distributions based on data
 Sample p1 and p2 from these distributions
 Put a coin in bandit 1 if p1 > p2
 Else, put the coin in bandit 2
28©MapR Technologies - Confidential
And it works!
11000 100 200 300 400 500 600 700 800 900 1000
0.12
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
n
regret
ε- greedy, ε = 0.05
Bayesian Bandit with Gamma- Normal
29©MapR Technologies - Confidential
Video Demo
30©MapR Technologies - Confidential
The Code
 Select an alternative
 Select and learn
 But we already know how to count!
n = dim(k)[1]
p0 = rep(0, length.out=n)
for (i in 1:n) {
p0[i] = rbeta(1, k[i,2]+1, k[i,1]+1)
}
return (which(p0 == max(p0)))
for (z in 1:steps) {
i = select(k)
j = test(i)
k[i,j] = k[i,j]+1
}
return (k)
31©MapR Technologies - Confidential
The Basic Idea
 We can encode a distribution by sampling
 Sampling allows unification of exploration and exploitation
 Can be extended to more general response models
 Note that learning here = counting = on-line algorithm
33©MapR Technologies - Confidential
Caveats
 Original Bayesian Bandit only requires real-time
 Generalized Bandit may require access to long history for learning
– Pseudo online learning may be easier than true online
 Bandit variables can include content, time of day, day of week
 Context variables can include user id, user features
 Bandit × context variables provide the real power
34©MapR Technologies - Confidential
 Contact:
– tdunning@maprtech.com
– @ted_dunning
 Slides and such (available late tonight):
– http://slideshare.net/tdunning
 Hash tags: #mapr #storm #bbuzz
35©MapR Technologies - Confidential
Thank You

More Related Content

PPTX
Polyvalent recommendations
PPTX
Goto amsterdam-2013-skinned
PDF
Storm users group real time hadoop
PPTX
What is the past future tense of data?
PPTX
London hug
PPTX
Cheap learning-dunning-9-18-2015
PPTX
Where is Data Going? - RMDC Keynote
PPTX
Real time-hadoop
Polyvalent recommendations
Goto amsterdam-2013-skinned
Storm users group real time hadoop
What is the past future tense of data?
London hug
Cheap learning-dunning-9-18-2015
Where is Data Going? - RMDC Keynote
Real time-hadoop

What's hot (18)

PPTX
Dunning time-series-2015
PPTX
Real-time Puppies and Ponies - Evolving Indicator Recommendations in Real-time
PPTX
Cognitive computing with big data, high tech and low tech approaches
PPTX
New Directions for Mahout
PPTX
predictive-analytics-san-diego-2013-02-21
PPTX
Sharing Sensitive Data Securely
PPTX
My talk about recommendation and search to the Hive
PPTX
Doing-the-impossible
PPTX
What's new in Apache Mahout
PPTX
Anomaly Detection - New York Machine Learning
PDF
Mathematical bridges From Old to New
PPTX
Building multi-modal recommendation engines using search engines
PPTX
Finding Changes in Real Data
PPTX
Which Algorithms Really Matter
PPTX
Strata new-york-2012
PDF
Strata 2014 Anomaly Detection
PPTX
Deep Learning for Fraud Detection
PPTX
Boston hug-2012-07
Dunning time-series-2015
Real-time Puppies and Ponies - Evolving Indicator Recommendations in Real-time
Cognitive computing with big data, high tech and low tech approaches
New Directions for Mahout
predictive-analytics-san-diego-2013-02-21
Sharing Sensitive Data Securely
My talk about recommendation and search to the Hive
Doing-the-impossible
What's new in Apache Mahout
Anomaly Detection - New York Machine Learning
Mathematical bridges From Old to New
Building multi-modal recommendation engines using search engines
Finding Changes in Real Data
Which Algorithms Really Matter
Strata new-york-2012
Strata 2014 Anomaly Detection
Deep Learning for Fraud Detection
Boston hug-2012-07
Ad

Similar to Buzz words-dunning-real-time-learning (20)

PPTX
Real-time and long-time together
PPTX
Real-time and Long-time Together
PPTX
New directions for mahout
PDF
Storm Users Group Real Time Hadoop
PPTX
London hug
PPTX
GoTo Amsterdam 2013 Skinned
PPTX
Boston Hug by Ted Dunning 2012
PPTX
Devoxx Real-Time Learning
PPTX
CMU Lecture on Hadoop Performance
PDF
Buzz Words Dunning Real-Time Learning
PPTX
News From Mahout
PPTX
Graphlab Ted Dunning Clustering
PDF
The Sierra Supercomputer: Science and Technology on a Mission
PPTX
Lambda kappa architecture - the jury are still out
PPTX
Graphlab dunning-clustering
PDF
Droidcon2013 triangles gangolells_imagination
PDF
Big Data Day LA 2016/ Big Data Track - Portable Stream and Batch Processing w...
PDF
An Optics Life
PDF
Data Analytics and Simulation in Parallel with MATLAB*
PPT
Resilience: the key requirement of a [big] [data] architecture - StampedeCon...
Real-time and long-time together
Real-time and Long-time Together
New directions for mahout
Storm Users Group Real Time Hadoop
London hug
GoTo Amsterdam 2013 Skinned
Boston Hug by Ted Dunning 2012
Devoxx Real-Time Learning
CMU Lecture on Hadoop Performance
Buzz Words Dunning Real-Time Learning
News From Mahout
Graphlab Ted Dunning Clustering
The Sierra Supercomputer: Science and Technology on a Mission
Lambda kappa architecture - the jury are still out
Graphlab dunning-clustering
Droidcon2013 triangles gangolells_imagination
Big Data Day LA 2016/ Big Data Track - Portable Stream and Batch Processing w...
An Optics Life
Data Analytics and Simulation in Parallel with MATLAB*
Resilience: the key requirement of a [big] [data] architecture - StampedeCon...
Ad

More from Ted Dunning (14)

PPTX
Dunning - SIGMOD - Data Economy.pptx
PPTX
How to Get Going with Kubernetes
PPTX
Progress for big data in Kubernetes
PPTX
Anomaly Detection: How to find what you didn’t know to look for
PPTX
Streaming Architecture including Rendezvous for Machine Learning
PPTX
Machine Learning Logistics
PPTX
Tensor Abuse - how to reuse machine learning frameworks
PPTX
Machine Learning logistics
PPTX
T digest-update
PPTX
How the Internet of Things is Turning the Internet Upside Down
PPTX
Apache Kylin - OLAP Cubes for SQL on Hadoop
PPTX
Recommendation Techn
PPTX
Possible Visions for Mahout 1.0
PPTX
Using Mahout and a Search Engine for Recommendation
Dunning - SIGMOD - Data Economy.pptx
How to Get Going with Kubernetes
Progress for big data in Kubernetes
Anomaly Detection: How to find what you didn’t know to look for
Streaming Architecture including Rendezvous for Machine Learning
Machine Learning Logistics
Tensor Abuse - how to reuse machine learning frameworks
Machine Learning logistics
T digest-update
How the Internet of Things is Turning the Internet Upside Down
Apache Kylin - OLAP Cubes for SQL on Hadoop
Recommendation Techn
Possible Visions for Mahout 1.0
Using Mahout and a Search Engine for Recommendation

Recently uploaded (20)

PDF
SaaS reusability assessment using machine learning techniques
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PPTX
Configure Apache Mutual Authentication
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PPTX
Internet of Everything -Basic concepts details
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
SaaS reusability assessment using machine learning techniques
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
future_of_ai_comprehensive_20250822032121.pptx
LMS bot: enhanced learning management systems for improved student learning e...
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Configure Apache Mutual Authentication
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Basics of Cloud Computing - Cloud Ecosystem
Auditboard EB SOX Playbook 2023 edition.
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Internet of Everything -Basic concepts details
NewMind AI Weekly Chronicles – August ’25 Week IV
Enhancing plagiarism detection using data pre-processing and machine learning...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Custom Battery Pack Design Considerations for Performance and Safety
Comparative analysis of machine learning models for fake news detection in so...
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj

Buzz words-dunning-real-time-learning

  • 1. 1©MapR Technologies - Confidential Real-time Learning for Fun and Profit
  • 2. 2©MapR Technologies - Confidential  Contact: – [email protected] – @ted_dunning  Slides and such (available late tonight): – http://slideshare.net/tdunning  Hash tags: #mapr #storm #bbuzz
  • 3. 3©MapR Technologies - Confidential The Challenge  Hadoop is great of processing vats of data – But sucks for real-time (by design!)  Storm is great for real-time processing – But lacks any way to deal with batch processing  It sounds like there isn’t a solution – Neither fashionable solution handles everything
  • 4. 4©MapR Technologies - Confidential This is not a problem. It’s an opportunity!
  • 5. 5©MapR Technologies - Confidential t now Hadoop is Not Very Real-time Unprocessed Data Fully processed Latest full period Hadoop job takes this long for this data
  • 6. 6©MapR Technologies - Confidential t now Hadoop works great back here Storm works here Real-time and Long-time together Blended view Blended view Blended View
  • 7. 7©MapR Technologies - Confidential One Alternative Search Engine NoSql de Jour Consumer Real-time Long-time ?
  • 8. 8©MapR Technologies - Confidential Problems  Simply dumping into noSql engine doesn’t quite work  Insert rate is limited  No load isolation – Big retrospective jobs kill real-time  Low scan performance – Hbase pretty good, but not stellar  Difficult to set boundaries – where does real-time end and long-time begin?
  • 9. 9©MapR Technologies - Confidential Almost a Solution  Lambda architecture talks about function of long-time state – Real-time approximate accelerator adjusts previous result to current state  Sounds good, but … – How does the real-time accelerator combine with long-time? – What algorithms can do this? – How can we avoid gaps and overlaps and other errors?  Needs more work
  • 10. 10©MapR Technologies - Confidential A Simple Example  Let’s start with the simplest case … counting  Counting = addition – Addition is associative – Addition is on-line – We can generalize these results to all associative, on-line functions – But let’s start simple
  • 11. 11©MapR Technologies - Confidential Data Sources Catcher Cluster Rough Design – Data Flow Catcher Cluster Query Event Spout Logger Bolt Counter Bolt Raw Logs Logger Bolt Semi Agg Hadoop Aggregator Snap Long agg ProtoSpout Counter Bolt Logger Bolt Data Sources
  • 12. 12©MapR Technologies - Confidential Closer Look – Catcher Protocol Data Sources Catcher Cluster Catcher Cluster Data Sources The data sources and catchers communicate with a very simple protocol. Hello() => list of catchers Log(topic,message) => (OK|FAIL, redirect-to-catcher)
  • 13. 13©MapR Technologies - Confidential Closer Look – Catcher Queues Catcher Cluster Catcher Cluster The catchers forward log requests to the correct catcher and return that host in the reply to allow the client to avoid the extra hop. Each topic file is appended by exactly one catcher. Topic files are kept in shared file storage. Topic File Topic File
  • 14. 14©MapR Technologies - Confidential Closer Look – ProtoSpout The ProtoSpout tails the topic files, parses log records into tuples and injects them into the Storm topology. Last fully acked position stored in shared, transactionally correct file system. Topic File Topic File ProtoSpout
  • 15. 15©MapR Technologies - Confidential Closer Look – Counter Bolt  Critical design goals: – fast ack for all tuples – fast restart of counter  Ack happens when tuple hits the replay log (10’s of milliseconds, group commit)  Restart involves replaying semi-agg’s + replay log (very fast)  Replay log only lasts until next semi-aggregate goes out Counter Bolt Replay Log Semi- aggregated records Incoming records Real-time Long-time
  • 16. 16©MapR Technologies - Confidential A Frozen Moment in Time  Snapshot defines the dividing line  All data in the snap is long-time, all after is real-time  Semi-agg strategy allows clean combination of both kinds of data  Data synchronized snap not needed Semi Agg Hadoop Aggregator Snap Long agg
  • 17. 17©MapR Technologies - Confidential Guarantees  Counter output volume is small-ish – the greater of k tuples per 100K inputs or k tuple/s – 1 tuple/s/label/bolt for this exercise  Persistence layer must provide guarantees – distributed against node failure – must have either readable flush or closed-append  HDFS is distributed, but provides no guarantees and strange semantics  MapRfs is distributed, provides all necessary guarantees
  • 18. 18©MapR Technologies - Confidential Presentation Layer  Presentation must – read recent output of Logger bolt – read relevant output of Hadoop jobs – combine semi-aggregated records  User will see – counts that increment within 0-2 s of events – seamless and accurate meld of short and long-term data
  • 19. 19©MapR Technologies - Confidential The Basic Idea  Online algorithms generally have relatively small state (like counting)  Online algorithms generally have a simple update (like counting)  If we can do this with counting, we can do it with all kinds of algorithms
  • 20. 20©MapR Technologies - Confidential Summary – Part 1  Semi-agg strategy + snapshots allows correct real-time counts – because addition is on-line and associative  Other on-line associative operations include: – k-means clustering (see Dan Filimon’s talk at 16.) – count distinct (see hyper-log-log counters from streamlib or kmv from Brickhouse) – top-k values – top-k (count(*)) (see streamlib) – contextual Bayesian bandits (see part 2 of this talk)
  • 21. 21©MapR Technologies - Confidential Example 2 – AB testing in real-time  I have 15 versions of my landing page  Each visitor is assigned to a version – Which version?  A conversion or sale or whatever can happen – How long to wait?  Some versions of the landing page are horrible – Don’t want to give them traffic
  • 22. 22©MapR Technologies - Confidential A Quick Diversion  You see a coin – What is the probability of heads? – Could it be larger or smaller than that?  I flip the coin and while it is in the air ask again  I catch the coin and ask again  I look at the coin (and you don’t) and ask again  Why does the answer change? – And did it ever have a single value?
  • 23. 23©MapR Technologies - Confidential A Philosophical Conclusion  Probability as expressed by humans is subjective and depends on information and experience
  • 24. 24©MapR Technologies - Confidential I Dunno
  • 25. 25©MapR Technologies - Confidential 5 heads out of 10 throws
  • 26. 26©MapR Technologies - Confidential 2 heads out of 12 throws Mean Using any single number as a “best” estimate denies the uncertain nature of a distribution Adding confidence bounds still loses most of the information in the distribution and prevents good modeling of the tails
  • 27. 27©MapR Technologies - Confidential Bayesian Bandit  Compute distributions based on data  Sample p1 and p2 from these distributions  Put a coin in bandit 1 if p1 > p2  Else, put the coin in bandit 2
  • 28. 28©MapR Technologies - Confidential And it works! 11000 100 200 300 400 500 600 700 800 900 1000 0.12 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 n regret ε- greedy, ε = 0.05 Bayesian Bandit with Gamma- Normal
  • 29. 29©MapR Technologies - Confidential Video Demo
  • 30. 30©MapR Technologies - Confidential The Code  Select an alternative  Select and learn  But we already know how to count! n = dim(k)[1] p0 = rep(0, length.out=n) for (i in 1:n) { p0[i] = rbeta(1, k[i,2]+1, k[i,1]+1) } return (which(p0 == max(p0))) for (z in 1:steps) { i = select(k) j = test(i) k[i,j] = k[i,j]+1 } return (k)
  • 31. 31©MapR Technologies - Confidential The Basic Idea  We can encode a distribution by sampling  Sampling allows unification of exploration and exploitation  Can be extended to more general response models  Note that learning here = counting = on-line algorithm
  • 32. 33©MapR Technologies - Confidential Caveats  Original Bayesian Bandit only requires real-time  Generalized Bandit may require access to long history for learning – Pseudo online learning may be easier than true online  Bandit variables can include content, time of day, day of week  Context variables can include user id, user features  Bandit × context variables provide the real power
  • 33. 34©MapR Technologies - Confidential  Contact: – [email protected] – @ted_dunning  Slides and such (available late tonight): – http://slideshare.net/tdunning  Hash tags: #mapr #storm #bbuzz
  • 34. 35©MapR Technologies - Confidential Thank You