02_InFluxDb

初始化

在这里插入图片描述

初始化流程

用户
密码
组织名称
Bucket—mysql里面的数据库概念
在这里插入图片描述

交互InFluxDb

暂用了8086端口.提供了 http api

WebUI交互

略...

数据模型

这是mysql里面的表
在这里插入图片描述
转换之后的存储
在这里插入图片描述
会把部分相同的放在 tag 里面. 不同的单独设置成为字段存储

行协议

每行数据之间用换行符分隔
measurement 测量名称
TagSet 标签集
FieldSet 字段集
Timestamp 时间戳
标签集和测量名称用逗号分隔
其他的用空格分隔

添加标签

parking ,name=0 num=50 sjc

数据格式

在这里插入图片描述

数据类型

Float
Integer
UInteger
String
bool
注释: # 开头
时间戳

空格

在这里插入图片描述

索引

测量名称和 tarset组成索引

InfluxDB 是一种流行的时间序列数据库,它具有高性能和可伸缩性。InfluxDB 提供了许多聚合函数,例如 sum、mean、median、min、max、count 等,可以用来处理时间序列数据。 在 Java 中使用 InfluxDB 的聚合函数非常简单。首先,我们需要添加 InfluxDB 的依赖: ```xml <dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> <version>2.14</version> </dependency> ``` 然后,我们可以使用 InfluxDB 的 Query API 来执行聚合函数查询。以下是一个示例代码,演示了如何使用 InfluxDB 的聚合函数来计算指定时间范围内的平均温度: ```java import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; public class InfluxDBExample { public static void main(String[] args) { // 创建 InfluxDB 实例 InfluxDB influxDB = InfluxDBFactory.connect("http://localhost:8086", "admin", "admin"); // 构建查询语句 String query = String.format("SELECT MEAN(temperature) FROM sensors WHERE time >= '%s' AND time <= '%s'", "2021-01-01T00:00:00Z", "2021-01-02T00:00:00Z"); // 执行查询 QueryResult queryResult = influxDB.query(new Query(query, "mydb")); // 处理查询结果 double avgTemperature = queryResult.getResults().get(0).getSeries().get(0).getValues().get(0).get(1); System.out.println("Average temperature: " + avgTemperature); } } ``` 在上面的示例中,我们使用了 `MEAN()` 聚合函数来计算指定时间范围内的平均温度。查询语句中的 `sensors` 是数据表的名称,`temperature` 是数据表中存储温度数据的列名。 注意,查询语句中的时间范围必须使用 InfluxDB 的时间格式,即 `YYYY-MM-DDTHH:mm:ssZ`,其中 `T` 和 `Z` 分别代表时间和时区。在 Java 中,我们可以使用 `java.time.format.DateTimeFormatter` 类来格式化时间。 除了平均温度,我们还可以使用 InfluxDB 的其他聚合函数来计算时间序列数据的各种统计信息,例如总和、中位数、最小值、最大值、计数等。这些聚合函数可以帮助我们更好地理解时间序列数据的趋势和变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值