如何在 InfluxDB 中编辑测量值(= 带时间戳的值集)?

How do I edit a measurement (= set of values with timestamp) in InfluxDB?

我是 运行 Influx 数据库实例,它从各种来源收集数据。有时,此数据根本不正确,需要更正,否则以后的分析将失败 and/or 产生不正确的结果。然而,InfluxDB 的 SQL-like 方言没有更新功能,并且 "updating" 单个数据点只能通过使用另一个 INSERT 替换具有相同时间戳的数据点来实现。

为此,我正在寻找一种方法来在测量中批量编辑选定的数据点,而不会中断数据收集过程,这可能会在我编辑时插入新的数据点。这是我尝试过的:

还有其他想法吗?我可以在文本编辑器中编写脚本和编辑内容,但我不能为每个需要更正的数据点手动创建 INSERT。

由于似乎没有真正的解决方案,我已经编写了一个脚本来执行此操作。 当心,它真的很快'n'dirty,除了我自己的硬件之外未经任何测试,并且包含很多假设(例如本地主机上的数据库,可用的 Perl 等)。

https://gist.github.com/jensb/9efa234b80024a0e335de760d9a4f3aa

如果这是您需要经常做的事情,您可以查看 QuestDB(https://questdb.io/ or https://github.com/questdb/questdb 在 Github 上)。它是一个超快的时间序列数据库,但支持传统的 SQL CRUD 操作。