1

我正在尝试根据匹配属性(用户)将时间窗口中的一堆事件批处理在一起。例如,以下事件在 1 秒内通过 esper:

用户 | 档案
A | a1.sys
A | a2.inf
一个 | a3.sys
B | b1.sys
B | b2.sys
A | a4.sys
B | b3.inf

我想按用户批处理事件并输出以下两组事件:

输出 1
A | a1.sys
A | a2.inf
一个 | a3.sys
A | a4.sys
输出 2
B | b1.sys
B | b2.sys
B | b3.inf

关键是这些组需要作为一个集合输出,而不是每个事件一个输出。我需要模拟从以下查询中获得的响应类型(其中事件 a、b 和 c 作为集合返回):

SELECT * FROM pattern[every a -> b -> c]

我只是不知道如何塑造这样的查询。我已经尝试了以下方法,但它没有将事件批处理在一起。

select * from ActivityEvent().std:groupwin(User).win:time_batch(5) 
4

1 回答 1

0

有批处理表达式窗口,可以比较事件和发布批处理。它在 [1] 中有描述。[1] http://esper.codehaus.org/esper-5.0.0/doc/reference/en-US/html_single/index.html#view-win-exprbatch

于 2014-04-29T17:05:27.527 回答