How to grouping window on esper (我希望esper每组创建windows。)

How to grouping window on esper (I would like esper to create windows by each group.)

我希望esper每组创建windows

select name, sum(val) from SampleEvent.win:length(5) group by name

It work like this

I want that it work like this

我可以用esper来实现吗?提前致谢!

这是通过 Esper 中的上下文完成的。上下文定义了分析的生命周期。

从图中看不清楚这些框的开始和结束条件是什么,或者这些框是否相互重叠(重叠上下文)或框不重叠(非重叠上下文)。您可以从这里开始。

create context BlueOrRedBox start MyEvent(...some criteria...) end MyEvent(...whatever...);
context BlueOrRedBox select somekey, count(*) from MyEvent group by somekey output snapshot when terminated;

将 "start MyEvent(...some criteria...)" 替换为框的开头。 将 "end MyEvent(...whatever...)" 替换为框的任何结尾。 可能如果开始或结束标准来自某些聚合(例如计数),则使用单独的语句来检测开始 and/or 结束标准并使用 "insert into"。

文档链接:

  1. Non-Overlapping context doc
  2. Solution patterns page