2

何年にもわたる履歴データが保存されているDBがあります。私の目標は、このデータを間隔を置いて再サンプリング1mし、別の DB に保存することです。私の理解では、これは で簡単に達成でき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 週間前) をバックフィルするために句を追加しましたが、何も起こりませんでした。

this onethat oneなどの投稿から、 INTOand句を追加することで埋め戻しが可能であることがわかりますWHEREが、何も起こりません。

それはなぜですか、どうすれば修正できますか?

4

1 に答える 1

3

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), * 
于 2020-04-20T12:32:17.357 に答える