在使用Tumbling Window的Azure流分析中,如何处理上一个小时之前的数据

时间:2019-12-09 14:23:13

标签: azure-stream-analytics

所以我有一个流分析工作,需要每小时进行一些计算。例如,一个小时内状态为1的时间长短。状态值每30秒显示一次。我无法在查询中使用Timestamp,因为我也在使用交叉引用命令。问题是一些数据迟到了。所以我想等待1个小时再处理数据。我以为可以使用

TumblingWindow(Duration(hour, 1), Offset(hour, -1))

因此,我认为如果查询在上午8点运行,它将处理从早上6点至早上7点输入的数据。对吗?但是我看到的是,查询仍在处理上午7点至8点的数据。 我对偏移量的理解不正确吗?

1 个答案:

答案 0 :(得分:0)

Offset参数用于确定翻转窗口的对齐方式。例如,默认情况下,所有窗口都从小时开始,但是您可以将偏移设置为30分钟以从小时中开始。 将整个小时数作为偏移量不会改变您的情况。

我认为将工作分成两部分会更容易-一个执行CROSS APPLY以提取事件,另一个执行时间处理。这样,您可以利用TIMESTAMP BY子句和时间策略来处理最新数据。