我正在运行一个从各种来源收集数据的 Influx 数据库实例。有时,这些数据是不正确的,需要更正,否则以后的分析将失败和/或产生不正确的结果。但是,InfluxDB 的类 SQL 方言没有 UPDATE 功能,并且只能通过使用另一个 INSERT 替换具有相同时间戳的数据点来“更新”单个数据点。
为此,我正在寻找一种方法来批量编辑测量中的选定数据点,而不会中断可能在我编辑时插入新数据点的数据收集过程。这是我尝试过的:
- 我可以使用例如
SELECT * FROM measurement WHERE time > ...
使用 HTTP API 查询测量的子集以进行编辑,我得到一个 JSON 文件,但是没有(明显的)方法来重新插入这个 JSON(在编辑它之后)并替换更正的测量。 - 我可以使用导出整个数据库
influx_inspect
并重新导入它,但这太慢了。这样一来,200MB 的原始数据会被放大到 >1GB 的线路协议数据,这对于纠正 2-3 个数据点来说太过分了。
还有其他想法吗?我可以在文本编辑器中编写脚本和编辑内容,但我不适合为每个需要更正的数据点手动创建 INSERT。