influxdb 查询:通过正则表达式指定或过滤标签
Posted
技术标签:
【中文标题】influxdb 查询:通过正则表达式指定或过滤标签【英文标题】:influxdb query: specify or filter tag by regex 【发布时间】:2017-08-21 22:36:16 【问题描述】:根据docs,我们可以...
使用正则表达式在 WHERE 子句中指定带有值的标记。
当我像这样查询我的 influxdb 时,我得到了想要的结果。
> SELECT "field" FROM "measurement" WHERE tag = 19
????
但是,当用正则表达式替换 where 过滤时,我没有得到任何结果。
> SELECT "field" FROM "measurement" WHERE tag =~ /19/
????
谁能告诉我这是为什么?
【问题讨论】:
【参考方案1】:自己发现了错误……
我有一个字段和一个具有相同键的标签。所以我在做
> SELECT "filed_key" from "measurement" WHERE field_key =~ /val/
现在我已经更改了我的架构,以便跨字段和标签的键是唯一的,并且一切都按预期工作。
github上也有关于这种现象的讨论。
【讨论】:
【参考方案2】:在 InfluxDB 2.0 中使用 Flux 查询的正则表达式。
src:https://docs.influxdata.com/influxdb/cloud/query-data/flux/regular-expressions/
以下示例排除了字段键中没有 _percent 的记录。
来自(桶:“示例桶”) |> 范围(起点:-15m) |> 过滤器(fn:(r) => r._measurement == "mem" 和 r._field =~ /_percent/)
【讨论】:
以上是关于influxdb 查询:通过正则表达式指定或过滤标签的主要内容,如果未能解决你的问题,请参考以下文章