在 InfluxDB 2.0 中查询平均值可以使用 Flux 查询语言。Flux 是一种功能强大的数据处理语言,适用于从 InfluxDB 中提取、转换和操作数据。
以下是一个示例 Flux 查询,用于计算名为 “temperature” 的测量项中某个标签为 “location=room-1” 的所有记录的平均值:
from influxdb_client import InfluxDBClient, Query
client = InfluxDBClient(url="http://localhost:8086", token="my-token")
query = Query('from(bucket:"my-bucket") \
|> range(start: -1h) \
|> filter(fn: (r) => r._measurement == "temperature" and r.location == "room-1") \
|> mean(column: "value")')
result = client.query_api().query(query=query, org="my-org")
print(result)
在上面的代码中,我们使用 Flux 查询语言来指定要查询的数据源,并对其进行筛选和聚合操作。最后调用 query() 方法将查询发送到 InfluxDB 并获取结果。该查询将返回一个包含平均值的表格数据(table data)。
需要注意的是,在执行 Flux 查询之前,需要确保已经安装了相应版本的 InfluxDB Python 客户端库,并且已经正确配置了连接参数(例如 URL 和访问令牌)。