使用 Flux 查询获取某个时间间隔内桶中的点数
Get the number of points in a bucket for a time interval with Flux query
给定一个桶,我如何使用 Flux 查询在给定时间间隔内获得这个桶中带有时间戳的点数?
我正在尝试估算每单位时间有多少数据被添加到 influxdb2 存储桶中。
我认为它应该是这样的:
from(bucket: "my_bucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "my_measurement")
|> window(period: 30s)
|> group(columns: ["_start"])
|> count()
首先我们按时间分离数据window |> window(period: 30s)
然后我们按新的 _start
时间分组并获得记录数。
这就是我最后做的事情:
from(bucket: "mybucket")
|> range(start: -1m)
|> group()
|> count()
在我的例子中,桶中有大量的系列(table 流 return 由 from 编辑)所以我不得不添加不带参数的 group() 将其组合成一个在 count() 之前单个 table。否则它将 return 每个 table 的计数分开。
来自助焊剂手册:
An empty group key groups all data in a stream of tables into a single
table
给定一个桶,我如何使用 Flux 查询在给定时间间隔内获得这个桶中带有时间戳的点数?
我正在尝试估算每单位时间有多少数据被添加到 influxdb2 存储桶中。
我认为它应该是这样的:
from(bucket: "my_bucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "my_measurement")
|> window(period: 30s)
|> group(columns: ["_start"])
|> count()
首先我们按时间分离数据window |> window(period: 30s)
然后我们按新的 _start
时间分组并获得记录数。
这就是我最后做的事情:
from(bucket: "mybucket")
|> range(start: -1m)
|> group()
|> count()
在我的例子中,桶中有大量的系列(table 流 return 由 from 编辑)所以我不得不添加不带参数的 group() 将其组合成一个在 count() 之前单个 table。否则它将 return 每个 table 的计数分开。
来自助焊剂手册:
An empty group key groups all data in a stream of tables into a single table