【问题标题】:How to check if a tag exists in a measurement using flux?如何使用通量检查测量中是否存在标签?
【发布时间】:2021-04-27 07:32:48
【问题描述】:

如何使用通量语言检查测量中是否存在特定标签? 我的 influxdb 版本是 2.0。

【问题讨论】:

  • 能否请您在您的问题(您尝试了什么)中发表您的努力,这是非常鼓励的,谢谢。
  • 我也有同样的问题,所以如果可以的话我可能会扩展它,而不是问另一个......
  • 非虚拟机。我在橡皮鸭调试时找到了答案;)

标签: influxdb


【解决方案1】:

(回答我的用例,因为没有提供详细信息)

TL;DR:使用exists operator

想象一个有这个旧标签的数据集,我们不再关心它,我们想在归档时过滤掉那些记录:


option task = {
  name: "15min_archive",
  every: 1w,
}

from(bucket: "mybucket")
 |> range(start: - duration(v: int(v: task.every) * 2))
// this:
 |> filter(fn: (r) => (exists r["stupidOldTag"] ) == false )
 |> aggregateWindow(every: 15m, fn: mean)
// ...

注意:==false,因为not 显然还不是一个东西。

【讨论】:

    【解决方案2】:

    很简单,您需要为您需要过滤到通量查询的标签名称添加过滤器。假设标签名称是“tag_name”:

    |> filter(fn: (r) => exists r.tag_name)

    这将过滤任何未定义或“未设置”的标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2014-01-30
      • 2012-07-05
      • 2011-08-18
      相关资源
      最近更新 更多