如何在esper上对窗口进行分组(我希望esper能够为每个组创建窗口。)

问题描述 投票:0回答:1

我想esper每个组创建窗口。

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

It work like this

I want that it work like this

我可以使用esper实现这样吗?提前致谢!

java esper
1个回答
0
投票

这是在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;

用“开始”框取代“启动MyEvent(......某些标准......)”。将“结束MyEvent(......无论......)”替换为框的任何末尾。可能如果开始或结束标准是从某些聚合(例如计数)派生的,则使用单独的语句来检测开始和/或结束标准并使用“插入到”。

文档链接:

  1. Non-Overlapping context doc
  2. Solution patterns page
© www.soinside.com 2019 - 2024. All rights reserved.