【问题标题】:Deleting InfluxDB points with no tag删除没有标签的 InfluxDB 点
【发布时间】:2019-09-22 00:15:36
【问题描述】:

我有几点我正试图从不良数据中删除,并继续阅读你不能真正做到这一点,但很难相信你真的不能做到。

他们没有标签,所以我尝试通过用标签覆盖它们来给它们标签,然后删除标签,但它没有覆盖,我只是删除了新的标签值。

我有时间尝试使用 where time = 'x' 删除,但从 Chronograf 获得 400,在 Influx CLI 中使用 DELETE FROM "apps" where time = '2019-05-01T17:45:00Z' 再次尝试,它运行没有错误,但实际上并没有删除该点。

我知道,由于 Influx 索引您无法根据字段删除的内容的方式,但必须有方法吗?

谢谢。

【问题讨论】:

    标签: influxdb


    【解决方案1】:

    我没有在 Influxdata 官方文档中看到关于删除没有标签的系列的明确示例。但是下面示例中的方法在测试中对我有用 - 它使用空标签删除了测量中的所有系列demo。小心在where 子句中包含所有可能的测量标签名称,否则您也可能会丢失良好的数据。

    > drop measurement demo
    > select * from demo
    > insert demo,tagA=A,tagB=B value=5 123455
    > insert demo,tagA=A value=6 123456
    > insert demo value=1 123451
    > insert demo value=2 123452
    > insert demo value=3 123453
    > select * from demo
    name: demo
    time   tagA tagB value
    ----   ---- ---- -----
    123451           1
    123452           2
    123453           3
    123455 A    B    5
    123456 A         6
    > drop series from demo where tagA='' and tagB=''
    > select * from demo
    name: demo
    time   tagA tagB value
    ----   ---- ---- -----
    123455 A    B    5
    123456 A         6
    

    【讨论】:

    • 嗨,谢谢你的想法,但我不确定我是否可以使用它,因为我不想删除所有没有标签的数据,而是只删除少数几个点,这些点恰好有没有标签。
    • 很抱歉对这个问题有误解。 DELETE FROM 在 cli 中也为我工作:precision rfc3339 delete from newdemo where time = '1970-01-01T00:02:03.453Z' 删除时间戳的所有数据或 delete from newdemo where time = '1970-01-01T00:02:03.455Z and tagA = '' 仅删除没有 tagA 的数据。在您的情况下,它会受到precision 设置的影响吗?
    • 谢谢,将研究精度问题,我的系列是分钟精度,我提供了 00 作为秒。
    猜你喜欢
    • 2022-11-05
    • 2021-09-26
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2016-02-03
    相关资源
    最近更新 更多