Как создать задержанное скользящее окно в Azure Stream Analytics - PullRequest
0 голосов
/ 27 апреля 2018

Я хотел бы рассчитать скорость изменения между двумя следующими значениями в моем потоке:

  • AVG (значение) в SlidingWindow 1мн
  • AVG (значение) в скользящем окне 1 мин в предыдущую минуту

Единственное, что я не могу найти в документации, это как создать «задержанное» скользящее окно, которое означает, что оно начинается за 2 млн. До и заканчивается за 1 млн. До фактического времени, поэтому я могу сделать некоторые расчеты, такие как скорость изменения .

1 Ответ

0 голосов
/ 28 апреля 2018

Вы можете сделать это в два этапа.

  1. Рассчитать агрегаты AVG за одну минуту.
  2. Использовать LAG поверх AVG предыдущего потока

что-то вроде ниже

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
...