【问题标题】:Azure Stream Analytics: Calculate Slope from a Sliding WindowAzure 流分析:从滑动窗口计算斜率
【发布时间】:2018-04-30 20:25:48
【问题描述】:

数据结构: {sensorId: 1, temp: 20, timestamp: 1525119377241}

窗口查询

SELECT
    System.Timestamp as WindowEnd,
    sensorId,
    AVG(temp) AS avgTemp,
FROM
    SensorStream TIMESTAMP BY timestamp
GROUP BY
    sensorId,
    SlidingWindow(second, 30)

我想实时计算实际 avgTemp 和 avgTemp 30s 之前的斜率。

使用tumbling window 可以使用LAG(avgTemp, 1),但这只会每30 秒输出一次。

TL;DR:我想在每次滑动窗口计算新的 avgTemp 时实时计算斜率。

【问题讨论】:

    标签: azure bigdata azure-stream-analytics complex-event-processing stream-analytics


    【解决方案1】:

    How to create a delayed sliding window in Azure Stream Analytics 可能重复

    您可以分两步完成。 Step 1 计算滑动窗口,Step 2 使用 LAG 计算斜率。

    【讨论】:

    • 这正是问题所在:在 SlidingWindow 上使用 LAG 将给出先前的 emmited 值,该值可能小于 1 秒,并且无法预测,因为事件可能以任何速率发生。计算 t 和 t-1s 之间的斜率不是我想要做的。我正在尝试计算 t 和 t-30s
    • 那么,是否有产生事件的速率?如果在 t -30s 没有数据,但在 t-29 有一个数据,在 t-31 有另一个数据,你想使用哪个?您可以使用 join 代替 LAG 并将 wiggle 指定为 > 30s,但您还必须提供上限,即“and
    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多