如何回填 InfluxDB 中的连续查询?
How to backfill a continuous query in InfluxDB?
我有一个数据库,其中存储了多年的历史数据。
我的目标是以 1m
间隔重新采样此数据并保存到不同的数据库。
我的理解是,这很容易通过 continous query
.
实现
CREATE CONTINUOUS QUERY cq_name ON db_2
BEGIN
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
WHERE time > now() - 12w AND time < now() - 10w
GROUP BY time(1m), *
END
以上查询在没有 WHERE
子句的情况下工作正常,并从创建点重新采样 - 向前。
我添加了 WHERE
子句以回填特定时间段(12 到 10 周前),但是什么也没发生。
从 and that one 等帖子中,我了解到可以通过添加 INTO
和 WHERE
子句进行回填,但没有任何反应。
为什么会这样,我该如何解决?
忽略 CQ 中的日期/时间。 CQ 不能用于回填。
但是,您可以从查询中删除 CQ "wrapper",然后手动 运行;只记得创建 windows.
CREATE CONTINUOUS QUERY cq_name ON db_2
BEGIN
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
GROUP BY time(1m), *
END
变为:
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
WHERE time > now() - 12w AND time < now() - 10w
GROUP BY time(1m), *
我有一个数据库,其中存储了多年的历史数据。
我的目标是以 1m
间隔重新采样此数据并保存到不同的数据库。
我的理解是,这很容易通过 continous query
.
CREATE CONTINUOUS QUERY cq_name ON db_2
BEGIN
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
WHERE time > now() - 12w AND time < now() - 10w
GROUP BY time(1m), *
END
以上查询在没有 WHERE
子句的情况下工作正常,并从创建点重新采样 - 向前。
我添加了 WHERE
子句以回填特定时间段(12 到 10 周前),但是什么也没发生。
从 INTO
和 WHERE
子句进行回填,但没有任何反应。
为什么会这样,我该如何解决?
忽略 CQ 中的日期/时间。 CQ 不能用于回填。
但是,您可以从查询中删除 CQ "wrapper",然后手动 运行;只记得创建 windows.
CREATE CONTINUOUS QUERY cq_name ON db_2
BEGIN
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
GROUP BY time(1m), *
END
变为:
SELECT last(data_point) AS ldp
INTO db_2.autogen.data_points
FROM db.autogen.data_points
WHERE time > now() - 12w AND time < now() - 10w
GROUP BY time(1m), *