influxDB:如何在 influxDB v2.0 中将字段转换为标签

Posted

技术标签:

【中文标题】influxDB:如何在 influxDB v2.0 中将字段转换为标签【英文标题】:influxDB: How to convert field to tag in influxDB v2.0 【发布时间】:2021-10-29 19:34:37 【问题描述】:

我们需要在 influxDB v2.0 中将字段转换为标签,但找不到任何合适的解决方案。 有人可以帮我实现同样的目标吗?

我们找到的解决方案是通过更改现有测量的字段和标签来创建新测量,但无法使用 Flux 语言实现。

使用下面的通量查询,我们可以将数据从一个测量值复制到另一个测量值,但不能在新测量值中添加数据时将字段更改为标记。

from(bucket: "bucket_name")
    |> range(start: -10y)
    |> filter(fn: (r) => r._measurement == "cu_om")
    |> aggregateWindow(every: 5s, fn: last, createEmpty: false)
    |> yield(name: "last")
    |> set(key: "_measurement", value: "cu_om_new1")
    |> to(org: "org_name", bucket: "bucket_name")

任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

看看writing pivoted data to InfluxDB,也许这就是你需要的。使用这种方法,您可以控制哪些列被写为字段,哪些列被写为标签:

使用experimental.to() 将透视数据写入InfluxDB。输入数据必须具有以下列:

_时间

_测量

组键中除 _time 和 _measurement 之外的所有列都作为标签写入 InfluxDB。不在组键中的列作为字段写入 InfluxDB。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review【参考方案2】:

您的原始代码几乎已经完成,to() 函数中有额外的字段允许这样做。 如果您已经有一组数据,其中您有一个标签名称作为值,您可以将其指定为to() 中的 tagColumn。 此外,新标签必须是字符串。

|> to(bucket: "NewBucketName",
   tagColumns: ["NewTagName"],
   fieldFn: (r) => ("SomeValue": r._value )
   )

【讨论】:

以上是关于influxDB:如何在 influxDB v2.0 中将字段转换为标签的主要内容,如果未能解决你的问题,请参考以下文章

Influxdb2.0文档翻译——开始使用InfluxDB

使用通量的 influxdb 查询失败

使用入口点脚本初始化 influxdb2 存储桶

InfluxDB 2.0.8 安装使用flux查询数据可视化

InfluxDB 2.1.1 安装使用flux查询数据可视化

InfluxDB 2.1.1 安装使用flux查询数据可视化