我正在尝试按用户对事件进行分组并分批返回它们(每个用户)。例如,如果 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 视图评估。
如何从每个数据窗口输出批处理事件而不将它们全部合并在一起?