文档文档

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

示例

查询 bucket 中的序列基数

import "influxdata/influxdb"

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

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

查询 measurement 中的序列基数

import "influxdata/influxdb"

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

查询特定 tag 的序列基数

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 开源版现在已进入公开 Alpha 测试阶段

InfluxDB 3 开源版现在可用于 Alpha 测试,并已获得 MIT 或 Apache 2 许可。

我们正在发布两个产品作为 Alpha 测试的一部分。

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

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