influxdb 批量插入数据只成功一条的问题

代码功能:新增五条student数据到influxdb数据库中
问题:每次运行代码都是新增一条记录

代码如下:

public static void main(String[] args) {
	BatchPoints batchPoints = BatchPoints
            .database("cjj_test")
            .consistency(InfluxDB.ConsistencyLevel.ALL)
            .build();
    for(int i = 0; i < 5 ;i++) {
    	Point.Builder builder = Point.measurement("student");
    	Student stu = new Student();
        stu.setAge(17);
        stu.setClasses(i);
        stu.setName("cjj");
        stu.setSex("男");
        builder.addFieldsFromPOJO(stu);
        Point point = builder.build();
        batchPoints.point(point);
    }
    InfluxDB influxDB = InfluxDBFactory.connect("http://10.10.50.8:8086", "admin", "admin");
    influxDB.setDatabase("cjj_test");
    influxDB.setLogLevel(InfluxDB.LogLevel.BASIC);
    
    influxDB.write(batchPoints);
}

其实这段代码五条记录都插入到influxdb数据库中了,只不过5条student数据产生的时间戳一样,time相同的后来数据就会覆盖之前的数据,只要设置不同的time就这解决问题。

设置时间代码:
builder.time(System.nanoTime(), TimeUnit.NANOSECONDS);

注意: 时间戳尽量设置的长,我这里设置的是纳秒级别16位长度,
如何这里设置的时间有重复也会存在数据被覆盖的问题,influxdb数据库自动生成的time是19位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值