Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Creek
Search
Andy Kent
October 22, 2011
Programming
1
76
Creek
Presentation given at LNUG discussing realtime aggregation over unbounded streams
Andy Kent
October 22, 2011
Tweet
Share
More Decks by Andy Kent
See All by Andy Kent
Coder Dojo London MIDI
andykent
2
77
Coder Dojo London Fireworks
andykent
0
120
River JS
andykent
2
650
Scalling Node to 50 Million Requests
andykent
5
290
Other Decks in Programming
See All in Programming
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
ALL CODE BASE ARE BELONG TO STUDY
uzulla
27
6.6k
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
1
120
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
Google Opalで使える37のライブラリ
mickey_kubo
3
140
EMこそClaude Codeでコード調査しよう
shibayu36
0
360
NIKKEI Tech Talk#38
cipepser
0
180
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
4.6k
Devoxx BE - Local Development in the AI Era
kdubois
0
140
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
100
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
440
理論と実務のギャップを超える
eycjur
0
180
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The World Runs on Bad Software
bkeepers
PRO
72
11k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Language of Interfaces
destraynor
162
25k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
610
Faster Mobile Websites
deanohume
310
31k
Writing Fast Ruby
sferik
629
62k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
WHEN YOU’VE GOT A HOSEPIPE WHAT YOU WANT IS A
CREEK
CREEK https://github.com/andykent/creek
AGGREGATORS count.alltime, count.timeboxed distinct.alltime, distinct.timeboxed max.alltime, max.timeboxed mean.alltime, mean.timeboxed min.alltime,
min.timeboxed sum.alltime, sum.timeboxed popular.timeboxed recent.limited
QUERY DSL track 'popular-words', aggregator: popular.timeboxed field: (o) -> o.text.toLowerCase().split('
') period: 60 precision: 5 top: 10
DEMO TIME!
ESPER
THE FUTURE...
RIVER river = require('river') ctx = river.createContext() ctx.addQuery "SELECT SUM(foo)
FROM my_stream", (newValues, oldValues) -> console.log(newValues, oldValues) c.push('my_stream', {foo:1, bar:2}) c.push('my_stream', {foo:3, bar:4}) https://github.com/forward/river
SQL-PARSER https://github.com/forward/sql-parser
PERSISTENCE
THE END