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
(必需) 计算基数时包含的最早时间。
基数计算包括与指定开始时间匹配的点。使用相对持续时间或绝对时间。例如,-1h
或 2019-08-28T22:00:00Z
。持续时间相对于 now()
。
stop
计算基数时包含的最新时间。
基数计算排除与指定开始时间匹配的点。使用相对持续时间或绝对时间。例如,-1h
或 2019-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)
此页面是否对您有帮助?
感谢您的反馈!