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