Esper events are modeled in clj-esper as regular maps (albeit with some metadata), and can be created with the defevent macro. The new-event function constructs a map with all fields defined (and with their values coerced- although these mappings are a little incomplete currently, they do enough for me :).
1
( new-event WebRequest :request "/ blah" :http_referer "-" :status 200 )
I had originally started an implementation based around defrecord and building classes …
Hadoop batch-processing is not the panacea to every problem. StreamSQL allows us to easily filter, aggregate, and even merge multiple realtime streams to detect correlations, run custom calculations, and much more - all without extra code! A quick intro to StreamSQL, the Esper engine, and a JRuby example to apply it to a real-time Twitter stream>.
ESP with Esper
Going from abstract to more concrete, Esper is an open-source ESP and correlation engine which definitely deserves some attention. Started in 2004 by Thomas Bernhardt for a financial application, it is implemented in Java and provides a fully featured , fast ESP library with a powerful list of StreamSQL extensions. Esper keeps all data structures in memory (no external database required) and is multi-thread safe and able to make use of …