如何使用完全限定的度量名称从InfluxDB中删除数据点?

时间:2019-06-26 14:57:54

标签: java influxdb

我目前很难尝试使用Java client library从InfluxDB中删除带有特定标签的所有数据点。我的设置如下:

  • 使用InfluxDB 1.7.6版
  • 使用Influxdb-java 2.15版
  • 使用Java SDK版本11.0.2
  • 数据点存储在名为mbp的数据库中
  • 数据点使用名为retentionPolicy的保留策略存储
  • 数据点的测量名称为value_log
  • 感兴趣的标签名称:idref

由于我不使用默认保留策略,因此我使用完全限定的度量名称来解决查询中的这些数据点;否则查询将不起作用。通过以下查询,我可以选择所有感兴趣的数据点:

SELECT * FROM "mbp"."retentionPolicy"."value_log" WHERE idref='5c97dc2583aeb6078c5ab672'

在我的Java代码中,如下所示:

Query query = new Query("SELECT * FROM \"mbp\".\"retentionPolicy\".\"value_log\" WHERE idref='5c97dc2583aeb6078c5ab672'");
QueryResult result = influxDB.query(query);

现在,我正在寻找一种方法,使我可以删除上述查询返回的数据点。有很多SO问题解决了这一挑战,但是据我所知,这些问题都不使用完全合格的测量名称,这就是我遇到的问题。我尝试了很多不同的查询,但是要么抛出一个抱怨查询语法错误的异常,要么什么都没发生(没有删除数据点)。

到目前为止,我已经尝试过:

DELETE FROM "value_log" WHERE idref='5c97dc2583aeb6078c5ab672'

结果:什么都没发生

DELETE FROM "mbp"."retentionPolicy"."value_log" WHERE idref='5c97dc2583aeb6078c5ab672'

DELETE FROM "mbp"."value_log" WHERE idref='5c97dc2583aeb6078c5ab672'

结果:异常“不支持保留策略”

在代码方面,我使用了与上面的选择查询相同的方法,因此我创建了一个查询对象,并在InfluxDB实例上执行了该对象。我也尝试使用DROP SERIES子句代替DELETE,但是在每种情况下结果都保持不变。

有人知道我在做错什么或如何使它正常工作吗?非常感谢您的帮助。预先感谢!

0 个答案:

没有答案