首页 > 解决方案 > Esper 基于过滤器创建窗口

问题描述

我正在尝试从 TickVo 类型构造一个对象窗口。我设法这样做使用:

TickVO.win:time_batch(1 min)

但是我的第一个滴答声例如从午夜后 44 毫秒开始,即 00:00:00.44。

我的问题是:我怎样才能让窗口从 0 毫秒开始并以这种方式结束。例如:00:00:00.44 将添加到 00:00:01 的窗口,但 00:00:01.15 滴答将添加到 00:00:02 的窗口。

因为现在发生的是 00:00:00.44 和 00:00:01.15 都添加到第一个刻度,因为(如我所见)它与起点相关。

更新:经过进一步调查,我发现我的解决方案应该依赖

win:ext_timed

但我还没有想出我应该用作 timestamp_expression 的过滤器

标签: esperepl

解决方案


time-batch 可以将参考点作为“ ”形式的参数TickVO#time_batch(1 min, 0L)。零告诉运行时对齐到 0 毫秒。

解决方案模式页面上有一些相关的方法。您可能会发现有关批处理窗口如何表现有用的详细说明。会话窗口通常使用重叠或非重叠上下文来完成。


推荐阅读