4.1 KiB
title | description | menu | aliases | weight | flux/v0.x/tags | related | introduced | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
influxdb.cardinality() function | The `influxdb.cardinality()` function returns the series cardinality of data stored in InfluxDB. |
|
|
302 |
|
|
0.92.0 |
The influxdb.cardinality()
function returns the [series cardinality](/{{< latest "influxdb" "v2" >}}/reference/glossary#series-cardinality) of a specified dataset in InfluxDB.
import "influxdata/influxdb"
influxdb.cardinality(
bucket: "example-bucket",
org: "example-org",
host: "https://cloud2.influxdata.com",
token: "MySuP3rSecr3Tt0k3n",
start: -30d,
stop: now(),
predicate: (r) => true,
)
// OR
influxdb.cardinality(
bucketID: "00xXx0x00xXX0000",
orgID: "00xXx0x00xXX0000",
host: "https://cloud2.influxdata.com",
token: "MySuP3rSecr3Tt0k3n",
start: -30d,
stop: now(),
predicate: (r) => true,
)
Parameters
bucket
Bucket to query cardinality from.
bucketID
String-encoded bucket ID to query cardinality from.
org
Organization name.
orgID
String-encoded organization ID to query cardinality from.
host
URL of the InfluxDB instance to query. See InfluxDB Cloud regions or [InfluxDB OSS URLs](/{{< latest "influxdb" "v2" >}}/reference/urls/).
token
InfluxDB [API token](/{{< latest "influxdb" "v2" >}}/security/tokens/).
start
The earliest time to include when calculating cardinality.
The cardinality calculation includes points that match the specified start time.
Use a relative duration or absolute time.
For example, -1h
or 2019-08-28T22:00:00Z
.
Durations are relative to now()
.
stop
The latest time to include when calculating cardinality.
The cardinality calculation excludes points that match the specified start time.
Use a relative duration or absolute time.
For example, -1h
or 2019-08-28T22:00:00Z
.
Durations are relative to now()
.
Default is now()
.
predicate
Predicate function that filters records.
Default is (r) => true
.
Examples
- Query series cardinality in a bucket
- Query series cardinality in a measurement
- Query series cardinality for a specific tag
- Query total cardinality across all buckets
Query series cardinality in a bucket
import "influxdata/influxdb"
influxdb.cardinality(bucket: "example-bucket", start: -1y)
Query series cardinality in a measurement
import "influxdata/influxdb"
influxdb.cardinality(
bucket: "example-bucket",
start: -1y,
predicate: (r) => r._measurement == "example-measurement",
)
Query series cardinality for a specific tag
import "influxdata/influxdb"
influxdb.cardinality(
bucket: "example-bucket",
start: -1y,
predicate: (r) => r.exampleTag == "foo",
)
Query total cardinality across all buckets
import "influxdata/influxdb"
bucketCardinality = (bucket) => (influxdb.cardinality(bucket: bucket, start: time(v: 0))
|> findColumn(fn: (key) => true, column: "_value"))[0]
buckets()
|> filter(fn: (r) => not r.name =~ /^_/)
|> map(fn: (r) => ({bucket: r.name, "Total Cardinality": bucketCardinality(bucket: r.name)}))
|> sum(column: "Total Cardinality")