将标签添加到 InfluxDB 中的现有数据点
Add tag to existing data point in InfluxDB
有没有办法将标签添加到 InfluxDB 测量中的现有条目?如果不在现有的数据库测量中,有没有办法将带有新标签的记录插入到新的流入测量中?
目前我有一组测量值,它们可能应该是单个测量值中的条目,其中它们当前的测量值名称应该是合并测量值超集中的标签键。
例如
show measurements
measurement1
measurement2
measurement3
measurement4
应该改为包含在每个测量和联合中的数据上的标签,以形成带有索引标签 measurment1
、measurement2
、...[=14= 的单个测量 joinedmeasurement
]
它必须通过查询手动完成。
例如python使用官方客户端:
from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', database='my_db')
measurement = 'measurement1'
db_data = client.query('select value from %s' % (measurement))
data_to_write = [{'measurement': 'joinedmeasurement',
'tags': ['measurement1'],
'time': d['time'],
'fields': {'value': d['value']},
}
for d in db_data.get_points()]
client.write_points(data_to_write)
其余的测量依此类推。 运行 上面的内容可以在一个循环中一次性完成吗?
考虑在标签之外使用命名字段。上面的例子只使用了一个字段——可以有任意多个。
这进一步提高了性能,但显然字段没有索引,因此不要将它们用于查询 运行 的数据。
有没有办法将标签添加到 InfluxDB 测量中的现有条目?如果不在现有的数据库测量中,有没有办法将带有新标签的记录插入到新的流入测量中?
目前我有一组测量值,它们可能应该是单个测量值中的条目,其中它们当前的测量值名称应该是合并测量值超集中的标签键。
例如
show measurements
measurement1
measurement2
measurement3
measurement4
应该改为包含在每个测量和联合中的数据上的标签,以形成带有索引标签 measurment1
、measurement2
、...[=14= 的单个测量 joinedmeasurement
]
它必须通过查询手动完成。
例如python使用官方客户端:
from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', database='my_db')
measurement = 'measurement1'
db_data = client.query('select value from %s' % (measurement))
data_to_write = [{'measurement': 'joinedmeasurement',
'tags': ['measurement1'],
'time': d['time'],
'fields': {'value': d['value']},
}
for d in db_data.get_points()]
client.write_points(data_to_write)
其余的测量依此类推。 运行 上面的内容可以在一个循环中一次性完成吗?
考虑在标签之外使用命名字段。上面的例子只使用了一个字段——可以有任意多个。
这进一步提高了性能,但显然字段没有索引,因此不要将它们用于查询 运行 的数据。