InfluxDB学习之再说连续查询

在前一篇文章:InfluxDB学习之InfluxDB连续查询(Continuous Queries)中,我们学习了InfluxDB的连续查询的一些基本知识,今天我们再来学习下InfluxDB的另外一些高级知识。

更多InfluxDB详细教程请看:InfluxDB系列学习教程目录

InfluxDB技术交流群:580487672(点击加入)

连续查询2

一、连续查询语法

连续查询的语法如下:

CREATE CONTINUOUS QUERY <cq_name> ON <database_name> [RESAMPLE [EVERY <interval>] [FOR <interval>]] BEGIN SELECT <function>(<stuff>)[,<function>(<stuff>)] INTO <different_measurement> FROM <current_measurement> [WHERE <stuff>] GROUP BY time(<interval>)[,<stuff>] END

其中,基本的用法在那篇文章中已经讲到了,本文主要为大家介绍下它的一些高级特性。

二、指定连续查询的时间范围

可以使用RESAMPLE FOR 关键词来指定连续查询的时间范围,比如,每次执行都对1小时内的数据进行连续查询:

> CREATE CONTINUOUS QUERY vampires_1 ON transylvania RESAMPLE FOR 60m BEGIN SELECT count(dracula) INTO vampire_populations_1 FROM raw_vampires GROUP BY time(30m) END

这个语句每次会将1小时的数据执行连续查询,也就是说,每次执行时,会将now()到now()-30m和now()-30m到now()-60m分别做连续查询,这样我们就可以手动指定连续查询的时间范围了。

三、指定连续查询的执行频次

可以使用RESAMPLE EVERY 关键词来指定连续查询的执行频次,比如,指定连续查询的执行频次为每15m执行一次:

> CREATE CONTINUOUS QUERY vampires ON transylvania RESAMPLE EVERY 15m BEGIN SELECT count(dracula) INTO vampire_populations FROM raw_vampires GROUP BY time(30m) END

这样,连续查询会每隔15m执行一次。

四、同时指定连续查询的范围和频次

将RESAMPLE FOR 和 EVERY关键词同时使用,可以同时指定连续查询的范围和频次,如下:

> CREATE CONTINUOUS QUERY vampires_2 ON transylvania RESAMPLE EVERY 15m FOR 60m BEGIN SELECT count(dracula) INTO vampire_populations_2 FROM raw_vampires GROUP BY time(30m) END

这个语句指定连续查询每15m执行一次,每次执行的范围为60m。

好了,有关连续查询的高级部分就先为大家介绍到这里,希望对大家有所帮助。

InfluxDB技术交流群:580487672(点击加入)

更多InfluxDB详细教程请看:InfluxDB系列学习教程目录

查看同系列相邻文章:InfluxDB学习之InfluxDB常用函数(三)变换类函数<<前一篇文章后一篇文章>>Influxdb原理详解

本文由【waitig】发表在等英博客
本文固定链接:InfluxDB学习之再说连续查询
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)