InfluxDB连续查询与聚合函数

InfluxDB连续查询
1,InfluxDB的数据保留策略,数据超过保存策略里指定的时间之后,就会被删除。
2,连续查询(Continuous Queries),不需要完全将这些数据删除掉,主要用在将数据归档,也同样降低系统空间的占用率
3,使用连续查询是最优的降低采样率的方式,连续查询和存储策略搭配使用将会大大降低InfluxDB的系统占用量。
4,使用连续查询后,数据会存放到指定的数据表中,这样就为以后统计不同精度的数据提供了方便。
#mydb 中新建了一个名为 cq_30m 的连续查询,每三十分钟取一个used字段的平均值,加入 mem_used_30m 表中
create continuous query cq_30m on mydb begin select mean(used) into men_used_30s from men group by time(30m) end;
# 查看所有的连续查询
show continuous queries;
# 删除mydb 数据库中的连续查询 cq_30m
drop continuous query cq_30m  on  mydb

 influxdb 的常用函数

#count()函数 返回一个(field)字段中的非空值的数量
select count(*) from disk_free

#DISTINCT()函数 返回一个字段(field)的唯一值,函数里面是 field 值!
select distinct(value) from disk_free

#MEAN() 函数 返回一个字段(field)中的值的算术平均值(平均值)字段类型必须是长整型或float64
select mean(value) from disk_free

#MEDIAN()函数 从单个字段(field)中的排序值返回中间值(中位数)
#字段值的类型必须是长整型或float64格式
select median(value) from disk_free

#SPREAD()函数 返回字段的最小值和最大值之间的差值
select spread(value) from disk_free

#SUM()函数 返回一个字段中的所有值的和
select sum(value) from disk_free
 
#TOP()函数 返回一个字段中最大的N个值
select top("value", 1) from disk_free

#BOTTOM()函数 返回一个字段中最小的N个值
select bottom("value",2) from disk_free

#FIRST()函数 返回一个字段中存活时间最长的值
select first(value) from disk_free

#MAX()函数 返回一个字段中的最大值
#MIN()函数 返回一个字段中的最小值
select max(value) from disk_free
select min(value) from disk_free

#PERCENTILE()函数 返回排序值排位为N的百分值
#value 字段按照不同的 value求百分比,然后取第五位数据。
select percentile(value,99),value from disk_free

 

posted @ 2018-08-26 17:01  十七楼的羊  阅读(2118)  评论(0编辑  收藏  举报