如何在Azure Stream Analytics中创建延迟滑动窗口

时间:2018-04-27 20:53:23

标签: stream streaming iot azure-iot-hub azure-stream-analytics

我想计算我的信息流中两个以下值之间的变化率:

  • SlidingWindow中的AVG(值)为1mn
  • 前一分钟SlidingWindow中的AVG(值)为1mn

我在文档中唯一没有找到的是如何创建一个“延迟”滑动窗口,这意味着它在实际时间之前的1mn之前和之后1mn开始,因此我可以进行一些计算,例如变化率

1 个答案:

答案 0 :(得分:1)

你可以做两步。

  1. 计算AVG的一分钟聚合。
  2. 使用LAG优先于之前的流AVG
  3. 如下所示

    WITH OneMinuteWindows AS
    (
    SELECT
        Avg(Column1) AvgValue
    FROM
        InputEventHub
    GROUP BY
        TumblingWindow(mi, 1)
    )
    
    SELECT
        System.TimeStamp [TimeStamp],
        AvgValue [CurrentValue],
        LAG(AvgValue) OVER (LIMIT DURATION(mi, 2)) [PreviousValue]
    FROM 
        OneMinuteWindows