complex-event-processing - 过滤 Siddhi 中的先前事件
问题描述
是否有可能检测到之前的事件是否发生在当前的 Siddhi 事件之前?我正在尝试做类似“如果 Y 发生在 X 之后发送警报”之类的事情。我得到了与此相反的工作(如果 Y 发生而 X 从未发生,则发送警报),查询类似于:
from s1=inStream[value == 'Y'] and
not inStream[value == 'X']
select s1.person
insert into outStream
并希望我能够通过简单地删除“不”来使我的预期查询工作,但是那不起作用。
解决方案
使用以下查询
from s1=inStream[value == 'X'] -> s2= inStream[value == 'Y']
select s1.person, s2.person
insert into outStream;
如果要限制 X 和 Y 之间的时间(始终推荐),请使用
from s1=inStream[value == 'X'] -> s2= inStream[value == 'Y'] within 10 min
select s1.person, s2.person
insert into outStream;
推荐阅读
- sas - SAS 表中的序列
- python - Tensorflow 2 多个同时预测
- java - 如何在没有任何交互式弹出窗口的情况下从 Azure AD 注销
- php - 在 PHP 中为子域设置 cookie 的问题
- php - 如何从数组中取出一条记录
- amazon-ec2 - 如何使用 Terraform 在现有 VPC 中启动 EC2 实例?
- sql - 如何在 Oracle SQL Developer 19.4.0 中格式化货币?
- angular - 我该如何解决这个错误后续属性声明必须具有相同的类型和重复的标识符。角 9
- angular - Angular9 index.html 找不到 main.js 和 css 文件
- mongodb - 如何计算猫鼬字符串中的特定字符?