我有一个InfluxDB数据库,它以1分钟的频率在单个measurement
中存储数据。我有几个fields
和一个tag
。我对InfluxDB相当陌生。
可视化我的数据,我注意到某些标签在随机的时间点缺少数据。有时一分钟,有时可能连续20分钟。
我想列出缺少数据的每个标记值的所有时间戳,以便我可以尝试(从原始来源)检索此数据并将其插入。我不想fill
的差距,使用插值/正向填充等。
我发现了ELAPSED
method,可以按以下方式使用它:
> select elapsed(*,1m) from measurement where time > (now() - 160m) group by tag
name: measurement
tags: tag=my_tag
time elapsed_field elapsed_field1
---- ------------- --------------
1586512020000000000 1 1
1586512080000000000 1 1
1586512140000000000 1 1
1586512200000000000 1 1
如果我了解elapsed(*,unit)
中的 unit ,它仅指定连续时间戳之间差异的显示单位。因此,对于那些表中的值不等于1分钟(我想要的差异)的时间,我需要 pipe 或过滤上面的结果。
我该怎么做?如何保存间隔> 1分钟的时间戳。更好的是,如何列出所有丢失的时间戳?
我可以在Python中执行此操作,查询每个标签的所有数据并将其与自己创建的完整时间索引进行比较,但我更希望直接从InfluxDB获取此信息,而无需先将所有内容读入内存
我正在运行InfluxDB v1.7.7