[英]Azure Stream Analytics 'TimeStamp By' in query doesn't works on job but works fine on test
[英]Azure Stream Analytics query with tumbling window using BY TIMESTAMP works fine on test but is off in running job results
我正在做一个物联网项目。 我有一个 Raspberry pi,它将智能电表数据发送到 Azure 上的 IoT eventhub。 我使用 Azure 流分析作业读取数据。 仪表读数每 10 秒发送一次。
我创建的查询之一使用翻滚窗口计算每小时的电力消耗。 它使用滞后计算此窗口的最大仪表读数减去前一个窗口的最大仪表读数。 我使用的是来自 IOT 设备的时间戳,而不是默认的到达时间。
WITH onehourwindow AS
(
SELECT
max(total_low) * 1000 as max_low,
max(total_high) * 1000 as max_high,
max(gas) * 1000 as max_gas,
round(avg(current_consumption), 1) as avg_consumption,
max(timestamp) as max_timestamp
FROM
eventhuninputsmartmeter TIMESTAMP BY timestamp
GROUP BY TUMBLINGWINDOW(hour, 1)
)
SELECT
(max_low - LAG(max_low) OVER (LIMIT DURATION(hour, 1))) / 1000 as total_consumption_low,
(max_high - LAG(max_high) OVER (LIMIT DURATION(hour, 1))) / 1000 as total_consumption_high,
(max_gas - LAG(max_gas) OVER (LIMIT DURATION(hour, 1))) / 1000 as total_consumption_gas,
avg_consumption,
max_timestamp
INTO
MeterReadingSQLDB
FROM
onehourwindow
查询返回测试中的预期结果。 以下是测试结果中时间戳和消耗的示例。 正如预期的那样,最新的时间戳(最大值)是 59 分 50 秒左右的小时的最后一次仪表读数。
|----------------------------|---------------------------|
| max_timestamp | total_consumption_high |
|----------------------------|---------------------------|
|2020-02-28T22:59:52.1794730 | 1.171 |
|2020-02-28T21:59:51.6680430 | 0.500 |
|----------------------------|---------------------------|
当我运行查询作业时,我将以下结果写入我的 SQL DB。 现在最新的时间戳(最大值)不是(时钟)小时的最后一个仪表读数,而是 54 分钟。 如果我手动计算消耗量,我可以看到使用的窗口是一小时,它不是从 00 开始,而是从每小时 55 分钟开始。
|----------------------------|---------------------------|
| max_timestamp | total_consumption_high |
|----------------------------|---------------------------|
|2020-02-28T22:54:52.1300000 | 1.353 |
|2020-02-28T21:54:51.6830000 | 0.510 |
|----------------------------|---------------------------|
如何解决这个问题? 我已经尝试了很多东西,但似乎无法修复它。 下面帖子的答案看起来很有希望,但我的活动不会迟到,绝对不会迟到 6 分钟。 因此仍然使用默认的事件排序策略。
查询中的 Azure 流分析“TimeStamp By”在工作中不起作用,但在测试中运行良好
关于解决这个问题的任何想法,以便我在 59 分 50 秒左右获得窗口的最大时间戳?
谢谢!
托马斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.