【发布时间】:2017-10-26 13:37:33
【问题描述】:
我有一个传感器,它仅按脉冲而不是定期将数据从 IOT Hub 发送到 Streaming Analytics。
我想计算脉冲在特定时间范围内发送的时间,即过去 10 分钟。
我有这样的非常简单的数据包:
{
"Timestamp": "2017-10-26T13:27:11.1103973",
"Pulses": 1
}
这些是发送的,比如说在 10 分钟的时间内发送 3 次。我使用以下流分析查询:
SELECT
SUM(Pulses) as Pulses,
System.Timestamp AS WindowEnd
INTO
[RawData-10-Minutes]
FROM
[Input]
GROUP BY
HoppingWindow(Duration(minute, 10), Hop(minute, 1))
这很好用。我每 1 分钟得到一个很好的数据流,每 10 分钟的脉冲总数:
[
{
"pulses": 2.0,
"windowend": "1970-01-01T12:02:00.0000000Z"
},
{
"pulses": 2.0,
"windowend": "1970-01-01T12:03:00.0000000Z"
},
{
"pulses": 3.0,
"windowend": "1970-01-01T12:04:00.0000000Z"
}
]
但是,当 10 分钟没有脉冲时,我希望我仍然每分钟收到 0 个脉冲的总和值。然而事实并非如此。
问题在于,我在 Power BI 报告上显示“最后一个值”,其中显示:过去 10 分钟内有 X 个脉冲。但是,当没有脉冲时,该值停留在最后一个结果,这是不正确的。
是否可以每分钟从流分析发送常规数据流,即使没有传入消息?
【问题讨论】: