注意 < > 這兩個符號加里面的字符都替換成自己的字符
influxdb數(shù)據(jù)點匯聚需要用到2個功能
1.保留策略 (Retention Policy) RP
2.連續(xù)查詢 (Continuous Query) CQ
查看保留策略
show RETENTION POLICIES on <you database>
實現(xiàn)匯聚的步驟
1.首先將原始的數(shù)據(jù)點的保留策略改為90天也就是3個月,你也可以改成你自己的時間.(默認保留策略是永久),默認策略名稱是:autogen
alter retention policy "<策略名>" on "<you database>" duration 90d
2.創(chuàng)建新的保留策略, 我是創(chuàng)建了26周也就是半年的策略, 因為這個策略是保存5分鐘點的,所以我起名為5m
CREATE RETENTION POLICY "5m" ON "<you databases>" DURATION 26w REPLICATION 1
3.查詢原始表.(后綴為 數(shù)字加m 的表 我都稱為匯聚表)
show MEASUREMENTS with MEASUREMENT =~ /.*([\\d][^m]|[^\\d]m|[^\\d][^m])$/
4.創(chuàng)建連續(xù)查詢,我這邊創(chuàng)建連續(xù)查詢的時候是寫了個go定時任務,因為數(shù)據(jù)表太多
創(chuàng)建完連續(xù)查詢不會直接創(chuàng)建表, 會之后定時的匯聚并創(chuàng)建
CREATE CONTINUOUS QUERY "test5m" on "testdatabase" BEGIN SELECT mean(value) AS value INTO "5m"."test5m" FROM "test" GROUP BY time(5m),* END
我把上面創(chuàng)建連續(xù)查詢的sql拆分一下
CREATE CONTINUOUS QUERY "<連續(xù)查詢名稱>" on "<你的數(shù)據(jù)庫>" BEGIN SELECT mean(value) AS value INTO "<你的5分鐘點的保留策略>"."<你的5分鐘點匯聚之后的表>" FROM "<你要的原始表>" GROUP BY time(5m),* END
GROUP BY time(5m) 把點合成5分鐘一個
* 這塊是為了將你所有的tag都帶上
5.查詢數(shù)據(jù) 除了默認策略的表之外,只要是在非默認保留策略的表,都要加上策略名稱
SELECT MEAN(value) as value FROM "5m"."test5m" GROUP BY time(5m) fill(none)