一:时序数据库-Influx应用

目录

0、版本号

1、登录页面

2、账号基本信息

3、数据库案例

4、可视化

5、java案例


0、版本号

InfluxDB v2.4.0

1、登录页面

http://127.0.0.1:8086/signin

账号:自己账号 密码:自己密码

2、账号基本信息


查看用户id和组织id!!很重要 需要在作为参数请求接口

3、数据库案例

4、可视化

5、java案例

1、pom

java 复制代码
       <dependency>
            <groupId>com.influxdb</groupId>
            <artifactId>influxdb-client-java</artifactId>
            <version>6.11.0</version>
        </dependency>

2、初始化WriteApiBlocking

java 复制代码
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.WriteApiBlocking;
import com.influxdb.client.domain.WritePrecision;
import org.chameleon.threadpool.monitor.PoolCollectData;

import java.util.List;

public class InfluxdbAssign {

    private final WriteApiBlocking writeApi;

    public InfluxdbAssign() {
        writeApi = InfluxDBClientFactory.create(Constant.INFLUXDB_URL,
                Constant.INFLUXDB_TOKEN,
                Constant.INFLUXDB_ORG,
                Constant.INFLUXDB_BUCKET).getWriteApiBlocking();
    }

3、写入

java 复制代码
package example;

import java.time.Instant;
import java.util.List;

import com.influxdb.annotations.Column;
import com.influxdb.annotations.Measurement;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.QueryApi;
import com.influxdb.client.WriteApiBlocking;
import com.influxdb.client.domain.WritePrecision;
import com.influxdb.client.write.Point;
import com.influxdb.query.FluxRecord;
import com.influxdb.query.FluxTable;

public class InfluxDB2Example {

    private static char[] token = "my-token".toCharArray();
    private static String org = "my-org";
    private static String bucket = "my-bucket";

    public static void main(final String[] args) {

        InfluxDBClient influxDBClient = InfluxDBClientFactory.create("http://localhost:8086", token, org, bucket);

        //
        // 获取写的api
        //
        WriteApiBlocking writeApi = influxDBClient.getWriteApiBlocking();

        //
        // 写数据point的方式
        //
        Point point = Point.measurement("temperature")
                .addTag("location", "west")
                .addField("value", 55D)
                .time(Instant.now().toEpochMilli(), WritePrecision.MS);

        writeApi.writePoint(point);

        //
        // Write by协议的方式写
        //
        writeApi.writeRecord(WritePrecision.NS, "temperature,location=north value=60.0");

        //
        // Write by 对象的方式写!!!推荐
        //
        Temperature temperature = new Temperature();
        temperature.location = "south";
        temperature.value = 62D;
        temperature.time = Instant.now();

        writeApi.writeMeasurement( WritePrecision.NS, temperature);

        //
        // Q查询数据
        //
        String flux = "from(bucket:\"my-bucket\") |> range(start: 0)";

        QueryApi queryApi = influxDBClient.getQueryApi();

        List<FluxTable> tables = queryApi.query(flux);
        for (FluxTable fluxTable : tables) {
            List<FluxRecord> records = fluxTable.getRecords();
            for (FluxRecord fluxRecord : records) {
                System.out.println(fluxRecord.getTime() + ": " + fluxRecord.getValueByKey("_value"));
            }
        }

        influxDBClient.close();
    }

    对应的POJO
    @Measurement(name = "temperature")
    private static class Temperature {

        @Column(tag = true)
        String location;

        @Column
        Double value;

        @Column(timestamp = true)
        Instant time;
    }
}
相关推荐
辞砚技术录1 天前
MySQL面试题——索引2nd
数据库·mysql·面试
linweidong1 天前
C++thread pool(线程池)设计应关注哪些扩展性问题?
java·数据库·c++
欧亚学术1 天前
突发!刚刚新增17本期刊被剔除!
数据库·论文·sci·期刊·博士·scopus·发表
黑白极客1 天前
怎么给字符串字段加索引?日志系统 一条更新语句是怎么执行的
java·数据库·sql·mysql·引擎
大厂技术总监下海1 天前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache
LeenixP1 天前
RK3576-Debian12删除userdata分区
linux·运维·服务器·数据库·debian·开发板
知行合一。。。1 天前
Python--03--函数入门
android·数据库·python
X***07881 天前
理解 MySQL 的索引设计逻辑:从数据结构到实际查询性能的系统分析
数据库·mysql·sqlite
爬山算法1 天前
Hibernate(31)Hibernate的原生SQL查询是什么?
数据库·sql·hibernate
Yuiiii__1 天前
一次并不简单的 Spring 循环依赖排查
java·开发语言·数据库