Documentation

查询字段和标签

此页面记录了早期版本的 InfluxDB OSS。InfluxDB OSS v2 是最新的稳定版本。请查看相应的 InfluxDB v2 文档: 查询字段和标签

使用 filter() 函数 根据字段、标签或其他列值来查询数据。filter() 执行的操作类似于 InfluxQL 和其他 SQL 类查询语言中的 SELECT 语句和 WHERE 子句。

filter() 函数

filter() 有一个 fn 参数,该参数期望一个 谓词函数,这是一个由一个或多个 谓词表达式 组成的匿名函数。谓词函数评估每一行输入。评估为 true 的行会被 包含 在输出数据中。评估为 false 的行会被 排除 在输出数据之外。

// ...
  |> filter(fn: (r) => r._measurement == "example-measurement" )

这个 fn 谓词函数需要一个 r 参数,代表每一行 当 filter() 遍历输入数据时。 行记录中的键值对表示列及其值。 使用 点表示法括号表示法 来引用谓词函数中特定列的值。 使用 逻辑运算符 将多个谓词表达式链接在一起。

// Row record
r = {foo: "bar", baz: "quz"}

// Example predicate function
(r) => r.foo == "bar" and r["baz"] == "quz"

// Evaluation results
(r) => true and true

按字段和标签筛选

组合 from()range()filter() 代表最基本的 Flux 查询:

  1. 使用 from() 来定义你的 bucket
  2. 使用 range() 根据时间限制查询结果。
  3. 使用 filter() 来识别要输出的数据行。
from(bucket: "db/rp")
  |> range(start: -1h)
  |> filter(fn: (r) =>
      r._measurement == "example-measurement" and
      r._field == "example-field" and
      r.tag == "example-tag"
  )


Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: