0

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

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

select * from EVT.std:groupwin(User).win:time_batch(2).std:size()

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

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

4

1 回答 1

0

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

于 2015-01-23T19:21:32.497 回答