[英]Azure Stream Analytics query with tumbling window using BY TIMESTAMP works fine on test but is off in running job results
[英]Azure Stream Analytics 'TimeStamp By' in query doesn't works on job but works fine on test
我正在做一個物聯網項目。 我有一個 Raspberry pi,可將數據發送到 Azure 上的 IoTHub。 該集線器將該數據轉發到 Azure 流分析作業。 在我的查詢中,我嘗試在 1 分鍾的 TumblingWindow 中聚合(這里是平均值)所有數據,但作為時間戳,我使用數據中發送的自定義日期時間。
我嘗試了很多東西,但似乎沒有任何效果。 流作業似乎忽略了我提供的日期時間,只是根據到達時間聚合所有內容。 僅當通過上傳 json 文件使用“測試”功能時它才有效。
SELECT
DateAdd(minute, -1, system.Timestamp) as TumblingWindowStartTime,
system.TimeStamp as TumblingWindowEndTime,
event.DeviceId as DeviceId,
AVG(event.Temperature) as TemperatureAverage,
Count(*) as MeasurementsCount
INTO
[input]
FROM
[output] as event
TIMESTAMP BY MeasuredOn
GROUP BY
event.DeviceId,
TumblingWindow(minute, 1)
我發送的數據類型
[
{
"Temperature":13.426585352712585,
"DeviceId":"UlyssesPi",
"MeasuredOn":"2019-04-09T11:20:30.1027311Z"
},
{
"Temperature":16.81523611620778,
"DeviceId":"UlyssesPi",
"MeasuredOn":"2019-04-09T11:20:35.2281002Z"
},
...
]
我期待的是在 Azure Stream Analytics 上使用“測試”功能時得到的結果:
TUMBLINGWINDOWSTARTTIME || TUMBLINGWINDOWENDTIME || DEVICEID || TEMPERATUREAVERAGE || MEASUREMENTSCOUNT
"2019-04-09T11:20:0... "2019-04-09T11:21:0... UlyssesPi 14.674093214798454 6
"2019-04-09T11:21:0... "2019-04-09T11:22:0... UlyssesPi 18.612186615873217 12
"2019-04-09T11:22:0... "2019-04-09T11:23:0... UlyssesPi 12.799415359568199 12
但我得到以下信息:
TUMBLINGWINDOWSTARTTIME || TUMBLINGWINDOWENDTIME || DEVICEID || TEMPERATUREAVERAGE || MEASUREMENTSCOUNT
"2019-04-09 11:22:0... "2019-04-09 11:23:0... UlyssesPi 15,4994594331363 30
那么結果怎么會不一樣呢? 是我做錯了什么嗎? 我能做什么?
謝謝你的幫助。
在門戶上測試流分析邏輯時,不會應用事件排序策略。 但是,當您在雲上運行作業時,會應用事件排序策略。 您需要確保負載中的時間戳准確(並且事件不會很晚到達)。 您還可以配置事件排序策略來定義延遲到達策略(默認為 5 秒)。 您可以在此處了解如何使用這些設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.