Я работаю над системой датчиков температуры и давления, где мои данные передаются через аналитическую работу Stream.Теперь могут быть отправлены повторяющиеся сообщения из-за того, что подтверждения не получены и по другим причинам.Таким образом, мои данные могут иметь формат: -
DeviceID TimeStamp MeasurementName Value
1 1 temperature 50
1 1 temperature 50
1 2 temperature 60
Обратите внимание, что 2-я запись является дубликатом 1-й, поскольку DeviceId, Timestamp и MeasurementName совпадают.Я хочу взять в среднем за 5 минут падающее окно для этих данных в задании потоковой аналитики.Итак, у меня есть этот запрос
SELECT
AVG(Value)
FROM
SensorData
GROUP BY
DeviceId,
MeasurementName,
TumblingWindow(minute, 5)
Ожидается, что этот запрос даст мне среднее измерение значений температуры и давления для каждого устройства за 5 минут.При выполнении этого среднего я должен устранить дубликаты.Фактическое среднее значение (50 + 60) / 2 = 55. Но среднее значение, учитывая мой этот запрос, будет (50 + 50 + 60) / 3 = 53,33
Как настроить этот запрос для правильного вывода?
Заранее спасибо.