如何在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周前(,但什么也没发生。

从这篇和那篇这样的帖子中,我了解到通过添加INTOWHERE子句可以进行回填,但什么也没发生。

为什么会这样?我该怎么解决?

CQ中的日期/时间被忽略。CQ不能用于回填。

但是,您可以从查询中删除CQ"包装器"并手动运行它;只需记住创建窗口。

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), * 

最新更新