带有自定义窗口的 Azure 流分析

Posted

技术标签:

【中文标题】带有自定义窗口的 Azure 流分析【英文标题】:Azure stream analytics with custom windows 【发布时间】:2021-02-08 16:18:49 【问题描述】:

我知道流分析有几个window funcitons。在我的情况下,我需要在一个时间窗口内聚合消息,每次一个字段(或字段的组合)更改时都会启动一个新窗口。

为了具体说明:假设我有以下消息:

    温度:50,压力:5,产品类型:车辆,警报 X:0 温度:52,压力:4,产品类型:车辆,警报 X:0 温度:54,压力:3,产品类型:车辆,警报 X:0 温度:56,压力:2,产品类型:平面,警报 X:0 温度:58,压力:3,产品类型:平面,警报 X:0 温度:50,压力:5,产品类型:平面,警报 X:1 温度:50,压力:5,产品类型:平面,警报 X:1 温度:50,压力:5,产品类型:车辆,警报 X:0 温度:48,压力:5,产品类型:车辆,警报 X:0

我想在productType 和/或alarmX 的更改定义的窗口上进行聚合。所以我想汇总项目 (1,2,3) - (4,5) - (6,7) - (8,9)

如何使用流分析来实现这一点?有其他选择吗?

【问题讨论】:

【参考方案1】:

您是否为此查看过session windows?您还需要某种时间戳列。

【讨论】:

如上所述,窗口在时间片上以一种或另一种方式定义。唯一描述的是 productType 和/或 alarmX 的变化定义了不同的窗口。要做到这一点, GROUP BY productType,alarmX 就足够了。我假设示例事件的顺序是“随着时间的推移”。因此,正如您建议的那样,您需要有一个时间列并基于它定义一个窗口。可能是一个滑动窗口,进一步过滤重复的结果。

以上是关于带有自定义窗口的 Azure 流分析的主要内容,如果未能解决你的问题,请参考以下文章

Azure 流分析自定义 dll

Application Insights 和 Azure 流分析查询自定义 JSON 属性

Azure 流分析的自定义输出路径

Application Insights 和 Azure 流分析查询将整个自定义维度导出为字符串

如何在 Microsoft Azure IoT 中创建自定义的流数据仪表板?

如何在 azure 函数 http 触发器中触发失败,并带有自定义错误响应