Influxdb2:如何在同一桶的不同测量下采样数据?



我想在同一桶中创建聚合度量每月数据。目前,我有一个任务与此查询:

import "strings"
option task = {name: "MTU Monthly", every: 1d}
from(bucket: "my_bucket")
|> range(start: 1464943523, stop: 1654244985)
|> filter(fn: (r) => r._measurement == "machine_time_utilization")
|> aggregateWindow(every: 1mo, fn: sum)
|> map(
fn: (r) =>
({r with _measurement:
strings.replaceAll(
v: r._measurement,
t: "machine_time_utilization",
u: "machine_time_utilization_monthly",
),
}),
)
|> to(bucket: "my_bucket")

我不喜欢使用strings.replaceAll的方式。有没有办法做得更好?

如果需要在记录中设置静态值,请使用set函数,即

from(bucket: "my_bucket")
...
|> aggregateWindow(every: 1mo, fn: sum)
|> set(key: "_measurement", value: "machine_time_utilization_monthly")
|> to(bucket: "my_bucket")

最新更新