微网站开发平台有哪些好的,免费申请论坛网站,网络正常但网页打不开,种子搜索引擎前言
使用时序数据库influxdb时#xff0c;我们经常需要写入大量的数据。而单单使用influxDB.write#xff08;Point#xff09;进行单条写入时#xff0c;速度过慢#xff0c;无法支撑时序数据大量写入的速度。 所以我们需要采用批量的方式进行存储#xff0c;增加写入…前言
使用时序数据库influxdb时我们经常需要写入大量的数据。而单单使用influxDB.writePoint进行单条写入时速度过慢无法支撑时序数据大量写入的速度。 所以我们需要采用批量的方式进行存储增加写入的速度。 一、使用什么方法
influxDB.write(BatchPoints batchPoints)
二、使用步骤
1.引入库 dependencygroupIdorg.influxdb/groupIdartifactIdinfluxdb-java/artifactIdversion2.10/version/dependency2.创建influxdb连接
private static String openurl http://127.0.0.1:10002;//连接地址
private static String username admin;//用户名
private static String password abc_123;//密码
private static String database test;//数据库InfluxDB influxDB InfluxDBFactory.connect(openurl, username, password);
influxDB.createDatabase(database);3.创建Point Point point Point.measurement(measurement).time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)//tag属性——只能存储String类型.tag(label, label)//field存储数据.addField(value, 1).addField(rt, rt).build();4.创建BatchPoints并添加Point
BatchPoints batchPoints BatchPoints.database(db2019).build();
batchPoints.point(point);5.写入influxdb
influxDB.write(batchPoints);三、示例
package org.example.influx;import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
import org.influxdb.dto.BatchPoints;
import org.influxdb.dto.Point;import java.util.concurrent.TimeUnit;public class InfluxDBBatchWriter243 {private static String openurl http://10.16.8.243:8086;//连接地址private static String username admin;//用户名private static String password douzhiFANGFA1;//密码private static String database db2019;//数据库private static Point createPoint(long time){Point point Point.measurement(test2).addField(group__tag1, 297af48c06a74220aff4fcc6bcaa44c9kg).tag(host, changdong).time(time, TimeUnit.MILLISECONDS).build();return point;}public static void main(String[] args) throws InterruptedException {InfluxDB influxDB InfluxDBFactory.connect(openurl, username, password);influxDB.createDatabase(database);long time1 System.currentTimeMillis();while (true) {BatchPoints batchPoints BatchPoints.database(db2019).build();//将单条数据存储到集合中for (int i 0; i 1000; i) {time1 time1 1;batchPoints.point(createPoint(time1));}long startTime System.currentTimeMillis();influxDB.write(batchPoints);long endTime System.currentTimeMillis();System.out.println(当前时间 endTime , 写入时间 time1 , 写入用时 (endTime - startTime) 毫秒);Thread.sleep(1010);}}
}