Я собираю данные с ПЛК, у которого временная метка составляет N часов по сравнению с машиной, на которой установлен Influx.
Мне нужно сокращать данные, собираемые каждые 1 минуту, каждые 1 час.
Я создал CQ, который группируется по 1 часу, поэтому каждый час будет выполняться для сокращения.
проблема заключается в том, что при выполнении непрерывного запроса обрабатываемые данные фильтруются следующим образом:
... WHERE time > now() - 1h and time < now()
Конечно, в указанном выше временном интервале еще нет данных, поскольку ПЛК отстает на N часов по сравнению с даннымиколлекторная машина.
Есть ли способ программно создать расширенный CQ, чтобы не было жестко задано N часов?Может быть, подзапрос для получения N?
Что-то вроде (см. Nh
):
CREATE CONTINUOUS QUERY "downsample_every_hour" ON "metrics"
BEGIN
SELECT mean("value")
INTO "hour"."variables"
FROM "minute"."variables"
GROUP BY time(1h,Nh)
END