一:时序数据库-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;
    }
}
相关推荐
数据馅3 分钟前
python自动生成pg数据库表对应的es索引
数据库·python·elasticsearch
峰子201221 分钟前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
浏览器爱好者2 小时前
如何使用MongoDB进行数据存储?
数据库·mongodb
yuanpan2 小时前
MongoDB中的横向扩容数据分片
数据库·mongodb
草明2 小时前
Mongodb 慢查询日志分析 - 1
数据库·python·mongodb
yuanpan2 小时前
MongoDB的事务机制
数据库·mongodb
SelectDB2 小时前
Apache Doris 2.1.8 版本正式发布
大数据·数据库·数据分析
云和恩墨4 小时前
云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
数据库·人工智能·云计算·dba
明月看潮生5 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 11课题、视图的操作
数据库·青少年编程·postgresql·编程与数学
阿猿收手吧!5 小时前
【Redis】Redis入门以及什么是分布式系统{Redis引入+分布式系统介绍}
数据库·redis·缓存