给定一个桶,我如何使用 Flux 查询在给定时间间隔内获取该桶中带有时间戳的点数?
我试图估计每单位时间向 influxdb2 存储桶添加了多少数据。
给定一个桶,我如何使用 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(period: 30s)
然后我们按新_start
时间分组并获取记录数。
这就是我最终做的事情:
from(bucket: "mybucket")
|> range(start: -1m)
|> group()
|> count()
就我而言,存储桶中有大量系列(由 from 返回的表流),因此我必须在不带参数的情况下添加 group(),以便在 count() 之前将其组合成一个表。否则它将分别返回每个表的计数。
从通量手册:
空组键将表流中的所有数据分组到单个表中