我在Influxdb中有一些不必要的数据,比如像“0”这样的值,所以如何删除那些特定的一次。我的数据库名称是“bootstrap”,我的测量名称是“response_time”
试过这个“从response_time删除时间> 2016-01-22T06:32:44Z”
但它说“服务器返回错误:解析查询时出错:找到-01,预期SELECT,DELETE,SHOW,CREATE,DROP,GRANT,REVOKE,ALTER,SET at line 1,char 44”
也试过这个:“从bootstrap中删除时间> 2016-01-22T06:32:44Z”
答案 0 :(得分:2)
目前发布的InfluxDB对删除有点痛苦。您可以删除整个度量,特定系列或整个数据库,或者删除早于“x”(保留策略)的系列的一部分。比这更精细的任何东西仍然有点阿尔法。显然,它在0.7版本中更灵活,但该功能已经消失。可能不是你希望的答案,抱歉。
见这里:
https://docs.influxdata.com/influxdb/v0.9/query_language/database_management/
(无耻的自我推销随后)
提出了一组类似的问题here。注意:似乎有些答案取决于您使用的InfluxDB版本。
我的回答,似乎与版本无关(到目前为止):
因为InfluxDB对删除有点痛苦,我们使用一个名为“ForUse”的布尔字段的模式,在通过行协议(v0.9)发布时看起来像这样:
your_measurement,your_tag=foo ForUse=TRUE,value=123.5 1262304000000000000
您可以使用您发送的任何字段键覆盖相同的度量,标记键和时间,因此我们通过将“ForUse”设置为false来“删除”,并让保留策略使数据库大小受到控制。
由于覆盖无缝地发生,您也可以追溯添加模式。在降噪。
执行此操作,您可以设置Grafana查询以包含“WHERE ForUse = TRUE”。通过这种方式过滤,并更新“ForUse”字段,您可以复制“删除”或“取消删除”点的功能。
它有点笨拙,但我习惯了kludgy - 每次与我合作的系列数据库看起来有点尴尬,部分删除,所以它必须是他们的性质。