文档文档

filter() 函数

filter() 函数根据谓词函数 (fn) 中定义的条件过滤数据。

输出表与相应的输入表具有相同的模式。

函数类型签名
(<-tables: stream[A], fn: (r: A) => bool, ?onEmpty: string) => stream[A] where A: Record

有关更多信息,请参阅 函数类型签名

参数

fn

(必需) 计算结果为 truefalse 的单参数谓词函数。

表示每行的记录作为 r 传递给函数。计算结果为 true 的记录包含在输出表中。计算结果为 nullfalse 的记录将从输出表中排除。

onEmpty

空表时采取的操作。默认为 drop

支持的值:

  • keep: 保留空表。
  • drop: 删除空表。

tables

输入数据。默认为管道转发数据 (<-)。

示例

根据 InfluxDB 测量、字段和标签进行过滤

from(bucket: "example-bucket")
    |> range(start: -1h)
    |> filter(
        fn: (r) => r._measurement == "cpu" and r._field == "usage_system" and r.cpu == "cpu-total",
    )

过滤时保留空表

import "sampledata"
import "experimental/table"

sampledata.int()
    |> filter(fn: (r) => r._value > 18, onEmpty: "keep")

查看示例输入和输出

根据阈值过滤值

import "sampledata"

sampledata.int()
    |> filter(fn: (r) => r._value > 0 and r._value < 10)

查看示例输入和输出


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。 InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,以实现更快的查询和优化的存储。 InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看