我在定时窗口内计数事件。如果超过5个事件到达该窗口,那么我想将它们全部丢弃。否则,事件将在等待时间之后释放。
我的代码是这样的:
// Create a timed window of 10 seconds
create window MyWindow.win:time(10 sec) as MyEventType;
// Add to the timed window
insert into MyWindow select * from MyEventType;
//Delete from window if upper limit was reached
On MyEventType as newEvent
select and delete * from MyWindow as oldEvent
having COUNT(*) >= 5;此外,侦听器接收离开定时窗口的所有事件:
select rstream * from MyWindow;上面示例的问题是,删除和释放的事件都被转发给侦听器(通过rstream)。
问:如何区分已删除事件和已发布事件?
发布于 2018-12-07 20:33:17
事件没有任何进展afaik。我认为一个应用程序可以查看事件发生的时间,看看它是否比当前的时间更早。我可以考虑另一个选项,而ones的侦听器接收已删除的事件,而不是过期的事件,这使应用程序可以知道已删除的事件和过期的事件。
https://stackoverflow.com/questions/53674673
复制相似问题