在Esper中分组和批处理事件

时间:2015-01-23 09:31:44

标签: esper batching nesper

我正在尝试按用户对事件进行分组并批量返回(每个用户)。例如,如果3个用户分别发送了5个事件,我希望从esper输出3个5个事件。

使用以下EPL,我能够验证是否创建了3个数据窗口,并且每个窗口中有5个事件。

从EVT.std中选择*:groupwin(用户).win:time_batch(2).std:size()

但是,当我删除std:size()时,它会在一个批处理中返回所有15个事件。据我了解,这是由于std:groupwin分组窗口视图如何通过std:merge视图进行评估。

如何从每个数据窗口输出批处理事件,而不将它们全部合并在一起?

1 个答案:

答案 0 :(得分:0)

我认为您希望接听多次调用而不是一次调用?单个调用通常更有效,因此这是默认值。我想你想用“for”。链接为http://esper.codehaus.org/esper-5.1.0/doc/reference/en-US/html_single/index.html#epl-grouped-delivery