Streaming 用于窗口结束的Azure流分析时间戳

Streaming 用于窗口结束的Azure流分析时间戳,streaming,azure-stream-analytics,windowing,Streaming,Azure Stream Analytics,Windowing,我正在Azure Stream Analytics上运行一些测试作业,运行此查询: SELECT System.Timestamp AS ts, Collect() INTO output−queue FROM input-hub TIMESTAMP BY tapp GROUP BY HoppingWindow(second , 4 , 2) 事实证明,在某些情况下,窗口结束的时间戳是窗口滑动参数的倍数,但有时不是 例如,使用slide=2可以获得此窗口关闭时间戳: 2016-08-04T10

我正在Azure Stream Analytics上运行一些测试作业,运行此查询:

SELECT System.Timestamp AS ts, Collect()
INTO output−queue
FROM input-hub TIMESTAMP BY tapp
GROUP BY HoppingWindow(second , 4 , 2)
事实证明,在某些情况下,窗口结束的时间戳是窗口滑动参数的倍数,但有时不是

例如,使用
slide=2
可以获得此窗口关闭时间戳:

2016-08-04T10:36:40.0000000Z
2016-08-04T10:36:42.0000000Z
2016-08-04T10:36:44.0000000Z
2016-08-04T10:36:46.0000000Z
2016-08-04T10:36:48.0000000Z
或者,在幻灯片=5的情况下:

2016-08-04T14:55:15.0000000Z
2016-08-04T14:55:20.0000000Z
2016-08-04T14:55:25.0000000Z
2016-08-04T14:55:30.0000000Z
即使对于不同的滑动值(例如,2、3、4、6等),也是如此。而且,这永远是真的!无论工作何时开始

相反,有些值(如7、11)不遵循此规则

有人能回答为什么会发生这种情况吗?
我想知道Azure SA如何决定何时打开第一个窗口


非常感谢你

有不同类型的窗口(有关详细信息,请参阅)

首先,窗口开始/结束不取决于作业开始时间

翻滚跳跃窗口在逻辑上最好被认为是时间轴本身的分区。例如,应用1分钟的翻滚窗口将使结果仅出现在1分钟的时间值上,即2:00pm、2:01pm等

请注意,并非每1分钟边界都必须有窗口结果,而是取决于计算

滑动窗口可以在时间线上的任何点产生输出,与翻滚和跳跃窗口不同,依赖于输入事件的时间戳。考虑滑动窗口的最佳方式是,窗口可能在任何输入事件结束,并在该事件之前的一定时间内开始滑动。换言之,每个事件窗口将包括在其之前的幻灯片时间或之前发生的所有事件


希望这有帮助。

有不同类型的窗口(有关更多详细信息,请参阅)

首先,窗口开始/结束不取决于作业开始时间

翻滚跳跃窗口在逻辑上最好被认为是时间轴本身的分区。例如,应用1分钟的翻滚窗口将使结果仅出现在1分钟的时间值上,即2:00pm、2:01pm等

请注意,并非每1分钟边界都必须有窗口结果,而是取决于计算

滑动窗口可以在时间线上的任何点产生输出,与翻滚和跳跃窗口不同,依赖于输入事件的时间戳。考虑滑动窗口的最佳方式是,窗口可能在任何输入事件结束,并在该事件之前的一定时间内开始滑动。换言之,每个事件窗口将包括在其之前的幻灯片时间或之前发生的所有事件

希望这有帮助