influxDB学习笔记

发布时间 2023-11-26 11:12:16作者: 是你亦然

InfluxDB行协议(Line Protocol)

measurement(测量名称)

Tag Set(标签集)

Field Set(字段集):可指定类型,float, int, Boolean, timestamp, 注释#

TimeStamp(时间戳)

e.g. parking, name=0 num=50 timeStamp(可省略,当前时间)

parking num=50

Prometheus数据格式:

open Metris数据格式

如何查询? 双索引设计,指定时间范围--》 设置measurement + 设置tag

时间线膨胀:枚举--有限的数据

算术表达式: 加减乘除

谓词表达式: == <= >= and or not =~ [匹配标识符:以xx开头 或 以xx结尾],例如 "abc" =~ /^a/

控制语句:三元运算符

嵌套:

转化为bool:

打印字节序列:bytes序列化

duration和time

duration( ):将某个字符串/整型(1纳秒,1秒=10^9纳秒)等转化为时间

正则表达式匹配:a是一个字符串,b 将字符串转化为一个正则表达式【regexp.compile】,匹配c中是否含有正则表达式b

````````

类型转化:int(v: 12.5),截断

整数int -- 无符号整数uint

浮点数float:正无穷a = float(v: “+Inf”) 非数字a = float(v: “Nan”)

复合数据类型(一):记录Record

类似于json数据,b = {"name":"tony", age:18, "x,y":"20,40"}

返回结果即为Record

访问Record中的属性:禁止使用变量对属性进行访问

a=b.name

a=b[“name”]

判断Record是否相等,依次判断每个字段是否一致,不用管字段的排列顺序

拓展with:用b生成c,如果有则替换,无则增加

嵌套的Record:

复合数据类型(二):字典:[ ],字典中能够使用变量对属性访问

字典相关操作dict

插入insert,删除remove,取值get,从列表中创建一个字典fromList

复合数据类型(三):数组Array

a = ["a","b","c","d"]

类型相同,泛型相同 record1 {name: string, age: int} 不等于 record2 {name:string}

数组的比较:不仅内容需要相同,顺序也需要相同

相关操作:len, contains, arrays.from(rows: [{ }])

定义函数

使用一个代码块{ },必须要有return

表 -- 表流 -- 序列

measurement + tag标签集 + field字段名 ? 确定一个序列

car,code=01 rate=30

car,code=01 temp=26

默认是按照字段名进行分组,, _field

自定义管道函数

table<- 表流,表示一个输入

传入自定义参数

查询和性能分析:使用profiler分析性能

set(key: “hello”, value: ”world”):字段名hello,值为world