Search code examples
complex-event-processingesper

How to define overlapping hopping windows in Esper using EPL?


How can I define an overlapping tumbling window as EPL query in Esper? I'm looking for equivalent of hopping windows similar to these:

https://learn.microsoft.com/en-us/stream-analytics-query/hopping-window-azure-stream-analytics

For example: 1 second hopping window with 500ms overlap.

Esper's reference manual describes tumbling windows and overlapping context, but how can I express it as a query?

Thank you.


Solution

  • The solution is the overlapping context. Things that fire regularly are done with a pattern.

    create context Hopping 
      initiated by pattern[every timer:interval(500 milliseconds)]
      terminated after 1 second;
    context Hopping select sum(price) from StockTick output when terminated;