在InfluxDB测量中,如何更新与查询匹配的点的字段值?从 v1.6 开始,这仍然不容易实现吗?
正如 GitHub 票证中的示例所建议的,实现此类目标的最简洁方法是什么?
UPDATE access_log SET username='something' WHERE mac='xxx'
还有什么比通过
更新各个点从客户端驱动这一切更好的吗?
问: 如何更新匹配查询的点的字段值?从 v1.4 开始这仍然不容易实现吗?
A: 据我所知,目前还没有一种简单的方法可以在 update
版本中完成
1.4
。点的
Field value
只能通过覆盖来更新。也就是说,要覆盖其值,您需要了解积分的详细信息。这些详细信息包括其
timestamp
和
series
信息,即其所在的测量值及其对应的
tags
。
注意: 此“更新”策略只能用于更改 field
值,而不能用于更改
tag
值。要更新
tag
值,您需要首先
DELETE
点数据,然后使用更新的标签和值重写整个点数据。
问: 还有什么比通过更新各个点从客户端驱动这一切更好的吗?
A: Influxdb 支持多点写入。因此,如果您可以构建一个过滤器来预先选择一个小的点数据集,修改它们的 field
值,然后批量覆盖它们。
INSERT measurement,tag_name=tag_value_no_quotes value_key_1=value_value_1,value_key_2=value_value_2 time
INSERT box,box_name=my_box item_1='apple',item_2='melon' 1526988768877018669