文档文档

influxdb.cardinality() 函数

influxdb.cardinality() 返回从 InfluxDB 检索的数据的序列基数。

尽管此函数类似于 InfluxQL 的 SHOW SERIES CARDINALITY,但它的工作方式略有不同。

influxdb.cardinality() 受时间限制,并报告与传递给它的条件匹配的数据的基数,而不是整个存储桶的基数。

函数类型签名
(
    start: A,
    ?bucket: string,
    ?bucketID: string,
    ?host: string,
    ?org: string,
    ?orgID: string,
    ?predicate: (r: {B with _value: C, _measurement: string, _field: string}) => bool,
    ?stop: D,
    ?token: string,
) => stream[{_value: int, _stop: time, _start: time}] where A: Timeable, D: Timeable

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

参数

bucket

从中查询基数的存储桶。

bucketID

从中查询基数的字符串编码的存储桶 ID。

org

组织名称。

orgID

字符串编码的组织 ID。

host

要查询的 InfluxDB 实例的 URL。

请参阅 InfluxDB Cloud 区域InfluxDB OSS URL

token

InfluxDB API 令牌。

start

(必需) 计算基数时包含的最早时间。

基数计算包括与指定开始时间匹配的点。 使用相对持续时间或绝对时间。 例如,-1h2019-08-28T22:00:00Z。 持续时间相对于 now()

stop

计算基数时包含的最新时间。

基数计算排除与指定开始时间匹配的点。 使用相对持续时间或绝对时间。 例如,-1h2019-08-28T22:00:00Z。 持续时间相对于 now()。 默认为 now()

默认值为 now(),因此除非提供未来的 stop 日期,否则任何已写入未来的点都不会被计数。

predicate

过滤记录的谓词函数。 默认为 (r) => true

示例

查询存储桶中的序列基数

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: time(v: 1))

注意:如果点已写入未来,您将需要添加适当的 stop 日期

查询测量中的序列基数//

import "influxdata/influxdb"

influxdb.cardinality(
    bucket: "example-bucket",
    start: time(v: 1),
    predicate: (r) => r._measurement == "example-measurement",
)

查询特定标签的序列基数

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: time(v: 1), predicate: (r) => r.exampleTag == "foo")

查询过去 4 小时内写入数据的基数

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: -4h)

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

有关更多信息,请查看