因此,我有一个流分析工作,需要每小时进行一些计算。例如,在一个小时内状态为1多长时间。状态值每30秒显示一次。我无法在查询中使用Timestamp,因为我还使用了交叉引用命令。问题是一些数据迟到了。所以我想等待1个小时再处理数据。我以为我可以使用
TumblingWindow(Duration(hour, 1), Offset(hour, -1))
因此,我认为如果查询在上午8点运行,它将处理从早上6点至早上7点输入的数据。对吗?但是我看到的是,查询仍在处理上午7点至8点的数据。我对偏移量的理解不正确吗?
Offset参数用于确定翻转窗口的对齐方式。例如,默认情况下,所有窗口都从小时开始,但是您可以将offset设置为从分钟中开始的30分钟。将整个小时数作为偏移量不会改变您的情况。
我认为,将工作分成两部分会更容易-一个执行CROSS APPLY以提取事件,另一个执行时间处理。这样,您可以利用TIMESTAMP BY子句和时间策略来处理最新数据。