我试图做一个简单的查询,但两个时间窗口;如果您已经为此产品发送了上个月的广告,那么查询将类似于尝试向过去四个月内访问过网络产品两次以上的用户发送消息 .
define stream webvisit (idClient string, idProduct string, chanel string)
from webvisit select idCliente, idProducto, canal,sum(1) as visits group by idCliente insert into visits
from visits[idProduct=='Fondos' and visits > 2]#window.time(4) insert into alert
并会继续吗?
1 回答
您可以执行以下操作:
在第二个查询中,我们获取过去4天内每个客户的访问次数,在最后一次查询中,我们使用count> 2过滤这些结果 .
EDIT:
由于您只需要在最后一天内发送通知(假设它定义为:当前时间--24小时),您需要发送通知,您可以尝试以下操作:
第二个(1天窗口)查询跟踪在过去24小时内生成了多少警报('hitsForClientPerDay'),最后一个查询仅在该期间内没有任何警报时发出广告(请注意hitsForClientPerDay当事件到来时将为1,因为当前事件也被认为是count(),所以我们将其检查为<2) .