【问题标题】:InfluxDB: Group rows with same timestampInfluxDB:对具有相同时间戳的行进行分组
【发布时间】:2018-12-04 07:08:19
【问题描述】:

假设一个 DB 具有以下数据记录:

2018-04-12T00:00:00Z value=1000 [series=distance]
2018-04-12T00:00:00Z value=10   [series=signal_quality]
2018-04-12T00:01:00Z value=1100 [series=distance]
2018-04-12T00:01:00Z value=0    [series=signal_quality]

有一个字段名为value。方括号表示标签(省略更多标签)。如您所见,数据是在不同数据记录中捕获的,而不是在相同记录中使用多个字段。

鉴于上述结构,如何查询距离的时间序列,按信号质量过滤? 目标是仅在信号质量高于固定阈值(例如 5)。

【问题讨论】:

  • 这很难做到,因为 InfluxDB 没有连接。 kapacitor 可能是可能的,但这是另一回事。将 signal_quality_value 字段添加到距离系列会容易得多。

标签: influxdb influxql


【解决方案1】:

“鉴于上述结构”,在普通的 InfluxDB 中无法做到这一点。

请记住 - Influx 不是关系数据库,它是不同的,尽管查询语言看起来很熟悉。

同样,鉴于 该结构 - 您可以继续使用 Kapacitor,正如已经提到的那样。

但我强烈建议您重新考虑结构,如果可能的话,如果您能够控制收集指标的方式。

如果这不是一个选项 - 方法如下:在 Kapacitor 中旋转一个简单的工作,它将根据时间 (check this out for how) 将两个点合并为一个,然后将其放入新的测量中。

数据点看起来像这样,那么:

DistanceQualityTogether,tag1=if,tag2=you,tag2=need,tag4=em distance=1000,signal_quality=10 2018-04-12T00:00:00Z

其他人对这样的测量一无所知。

但同样,如果您可以将指标配置为像这样发送 - 最好这样做。

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2017-10-03
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    相关资源
    最近更新 更多