我想使用Esper生成事件集。我试图检测每个时间段内机器人运动的变化,并想知道什么是最好的实施方式。
从事件中生成剧集的规则将是
输入数据:
Event Time Robot Position
1 1 A 0
2 2 A 1
3 6 A 2
输出数据应为:
Array[0]={Event 1,Event 2}
Array[1]={Event 3} //more than 3 sec
输入数据:
Event Time Robot Position
1 1 A 0
2 2 A 1
3 4 B 0
4 6 A 2
输出数据应为:
Array[0]={Event 1,Event 2}
Array[1]={Event 3} //different robot
Array[2]={Event 4}
请帮忙提供建议。我已经尝试使用多个侦听器,每个机器人一个,创建剧集,它可以工作,但我试图使用单个EPL语句来做到这一点。我尝试了win:time_accum(3sec) group by robot
,但第二个示例输出:
Array[0]={Event 1,Event 2, Event 4}
Array[1]={Event 3}
由于每次事件进入时移动时间窗口,系统仍然认为事件4由于事件3而小于3秒。如何为每个机器人创建一个唯一的时间窗口?
感谢您的建议,非常感谢任何帮助。
答案 0 :(得分:0)
我认为表达式批处理窗口可以完成这项工作,它允许比较和输出不包含当前事件的批处理。