使用 Flux 查询时,不同的保留策略 (RP) 的行为是不是类似于表?
Posted
技术标签:
【中文标题】使用 Flux 查询时,不同的保留策略 (RP) 的行为是不是类似于表?【英文标题】:Do different Retention Policies (RP) behave like tables when Querying with Flux?使用 Flux 查询时,不同的保留策略 (RP) 的行为是否类似于表? 【发布时间】:2020-05-25 05:45:22 【问题描述】:我想将跨不同保留政策的相同度量查询到单个图表中。理想情况下,我想在查询本身中执行此操作,因为我正在使用 Grafana。
根据 Flux 文档,“Flux 在表格中构建所有数据。当数据从数据源流式传输时,Flux 将其格式化为带注释的逗号分隔值 (CSV),表示表格。然后函数操作或处理它们并输出新表格。”
在这种情况下,不同的保留策略会表现得像不同的表吗?我可以使用 union() 函数来获得我想要的吗?任何见解将不胜感激。
【问题讨论】:
【参考方案1】:因此,对于这样的事情,您只需使用两个不同的from
语句并使用union
或join
将它们组合起来。查看union
上的文档以获取查询示例:https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/union/#examples
left = from(bucket: "database1/policy1")
|> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)
|> filter(fn: (r) =>
r._field == "usage_guest" or
r._field == "usage_guest_nice"
)
|> drop(columns: ["_start", "_stop"])
right = from(bucket: "database1/policy2")
|> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)
|> filter(fn: (r) =>
r._field == "usage_guest" or
r._field == "usage_idle"
)
|> drop(columns: ["_start", "_stop"])
union(tables: [left, right])
在这种情况下,from
函数中使用的bucket
将采用database_name/rp
的形式。请参阅 1.x 中有关存储桶命名约定的文档:https://docs.influxdata.com/flux/v0.50/introduction/getting-started/#buckets
【讨论】:
以上是关于使用 Flux 查询时,不同的保留策略 (RP) 的行为是不是类似于表?的主要内容,如果未能解决你的问题,请参考以下文章
如何保留本地组件数据,例如微调器/错误,在 Flux 商店之外?
仅更新 JSON 对象的一个值并使用 React Flux 保留旧的值
是否可以对 influxdb 中的默认保留策略执行删除查询?