Documentation

使用InfluxQL探索您的模式

InfluxQL是一种类似SQL的查询语言,用于与InfluxDB中的数据交互。以下部分涵盖了用于探索您的schema的有用查询语法。

显示数据库显示保留策略显示系列
显示测量显示标签键显示标签值
显示字段键按时间过滤元查询

示例数据

本文档中使用的数据可以在示例数据页面下载。

在继续之前,请登录到Influx CLI。

$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.11.8
InfluxDB shell 1.11.8
>

SHOW DATABASES

返回您实例上所有数据库的列表。

语法

SHOW DATABASES

示例

运行一个 SHOW DATABASES 查询

> SHOW DATABASES

name: databases
name
----
NOAA_water_database
_internal

查询以表格格式返回数据库名称。 这个InfluxDB实例有两个数据库: NOAA_water_database_internal

SHOW RETENTION POLICIES

返回指定数据库保留策略列表。

语法

SHOW RETENTION POLICIES [ON <database_name>]

语法描述

ON <database_name> 是可选的。 如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

示例

运行一个 SHOW RETENTION POLICIES 查询,带有 ON 子句

> SHOW RETENTION POLICIES ON NOAA_water_database

name      duration   shardGroupDuration   replicaN   default
----      --------   ------------------   --------   -------
autogen   0s         168h0m0s             1          true

查询返回数据库 NOAA_water_database 中保留策略的列表,以表格格式显示。 该数据库有一个保留策略,称为 autogenautogen 保留策略具有无限的 duration, 七天的 shard group duration, 一个 replication factor ,并且它是数据库的 DEFAULT 保留策略。

运行一个 SHOW RETENTION POLICIES 查询,而不使用 ON 子句

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW RETENTION POLICIES

name      duration   shardGroupDuration   replicaN   default
----      --------   ------------------   --------   -------
autogen   0s         168h0m0s             1          true

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW RETENTION POLICIES"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "columns": [
                        "name",
                        "duration",
                        "shardGroupDuration",
                        "replicaN",
                        "default"
                    ],
                    "values": [
                        [
                            "autogen",
                            "0s",
                            "168h0m0s",
                            1,
                            true
                        ]
                    ]
                }
            ]
        }
    ]
}

SHOW SERIES

返回指定 数据库系列 列表。

语法

SHOW SERIES [ON <database_name>] [FROM_clause] [WHERE <tag_key> <operator> [ '<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法描述

ON <database_name> 是可选的。
如果查询不包括 ON <database_name>,您必须在 CLI 中使用 USE <database_name> 指定数据库,或在 InfluxDB API 请求中使用 db 查询字符串参数。
SHOW SERIES 仅返回数据库默认保留策略中的系列,如果没有默认保留策略,则会失败。

来自 FROMWHERELIMITOFFSET 子句是可选的。 WHERE 子句支持标签比较;字段比较在 SHOW SERIES 查询中无效。

WHERE 子句中支持的运算符: =   等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面以获取有关 FROM 子句, LIMIT 子句, OFFSET 子句, 以及 查询中的正则表达式 的文档。

示例

运行一个 SHOW SERIES 查询与 ON 子句

// Returns series for all shards in the database and default retention policy
> SHOW SERIES ON NOAA_water_database

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

查询的输出类似于行协议格式。 第一个逗号之前的内容是测量名称。 第一个逗号之后的内容是标签键标签值NOAA_water_database有五个不同的测量和14个不同的系列。

在没有 ON 子句的情况下运行 SHOW SERIES 查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW SERIES

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW SERIES"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "columns": [
                        "key"
                    ],
                    "values": [
                        [
                            "average_temperature,location=coyote_creek"
                        ],
                        [
                            "average_temperature,location=santa_monica"
                        ],
                        [
                            "h2o_feet,location=coyote_creek"
                        ],
                        [
                            "h2o_feet,location=santa_monica"
                        ],
                        [
                            "h2o_pH,location=coyote_creek"
                        ],
                        [
                            "h2o_pH,location=santa_monica"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=1"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=2"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=3"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=1"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=2"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=3"
                        ],
                        [
                            "h2o_temperature,location=coyote_creek"
                        ],
                        [
                            "h2o_temperature,location=santa_monica"
                        ]
                    ]
                }
            ]
        }
    ]
}

运行一个 SHOW SERIES 查询,带有多个子句

> SHOW SERIES ON NOAA_water_database FROM "h2o_quality" WHERE "location" = 'coyote_creek' LIMIT 2

key
---
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2

查询返回与h2o_quality测量和标签location = coyote_creek相关的NOAA_water_database数据库中的所有系列。LIMIT子句将返回的系列数量限制为两个。

运行一个 SHOW SERIES 查询,时间有限制

限制在指定分片组持续时间内返回的系列。

// Returns all series in the current shard.
> SHOW SERIES ON NOAA_water_database WHERE time > now() - 1m

key
---
average_temperature,location=coyote_creek
h2o_feet,location=coyote_creek
h2o_pH,location=coyote_creek
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_temperature,location=coyote_creek

上述查询返回当前分片组中 NOAA_water_database 数据库的所有序列。WHERE 子句将结果限制为包含在最后一分钟内的时间戳的分片组中的序列。请注意,如果分片组的持续时间为7天,则返回的结果可能长达7天。

// Returns all series in shard groups that contain a timestamp in the last 28 days.
> SHOW SERIES ON NOAA_water_database WHERE time > now() - 28d

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

注意,如果指定的分片组持续时间为7天,则上述查询将返回最近3个或4个分片的系列。

SHOW MEASUREMENTS

返回指定数据库测量值列表。

语法

SHOW MEASUREMENTS [ON <database_name>] [WITH MEASUREMENT <operator> ['<measurement_name>' | <regular_expression>]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法描述

ON <database_name> 是可选的。 如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

WITHWHERELIMITOFFSET 子句是可选的。WHERE 子句支持标签比较;字段比较在 SHOW MEASUREMENTS 查询中无效。

WHERE 子句中支持的运算符: =   等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面以获取关于 LIMIT 子句, OFFSET 子句, 以及关于查询中的正则表达式的文档。

示例

运行一个 SHOW MEASUREMENTS 查询,使用 ON 子句

> SHOW MEASUREMENTS ON NOAA_water_database

name: measurements
name
----
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature

查询返回 NOAA_water_database 数据库中的测量列表。数据库有五个测量: average_temperatureh2o_feeth2o_pHh2o_quality, 和 h2o_temperature

运行一个 SHOW MEASUREMENTS 查询而不使用 ON 子句

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW MEASUREMENTS
name: measurements
name
----
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW MEASUREMENTS"

{
  {
      "results": [
          {
              "statement_id": 0,
              "series": [
                  {
                      "name": "measurements",
                      "columns": [
                          "name"
                      ],
                      "values": [
                          [
                              "average_temperature"
                          ],
                          [
                              "h2o_feet"
                          ],
                          [
                              "h2o_pH"
                          ],
                          [
                              "h2o_quality"
                          ],
                          [
                              "h2o_temperature"
                          ]
                      ]
                  }
              ]
          }
      ]
  }

运行一个 SHOW MEASUREMENTS 查询,带有多个子句 (i)

> SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ LIMIT 2 OFFSET 1

name: measurements
name
----
h2o_pH
h2o_quality

查询返回的测量值来自 NOAA_water_database 数据库, 以 h2o 开头。 LIMITOFFSET 子句将返回的测量名称数量限制为 两个,并将结果偏移一个,跳过 h2o_feet 测量。

运行一个 SHOW MEASUREMENTS 查询,带有多个条件 (ii)

> SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ WHERE "randtag"  =~ /\d/

name: measurements
name
----
h2o_quality

查询返回所有在 NOAA_water_database 中,以 h2o 开头并且标签键 randtag 的值包含整数的测量。

SHOW TAG KEYS

返回与指定的 数据库 相关联的 标签键 列表。

语法

SHOW TAG KEYS [ON <database_name>] [FROM_clause] WITH KEY [ [<operator> "<tag_key>" | <regular_expression>] | [IN ("<tag_key1>","<tag_key2")]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法描述

ON <database_name> 是可选的。 如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

FROM 子句和 WHERE 子句是可选的。 WHERE 子句支持标签比较;字段比较对于 SHOW TAG KEYS 查询是无效的。

WHERE 子句中支持的运算符: =   等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面以获取有关 FROM 子句, LIMIT 子句, OFFSET 子句, 以及 查询中的正则表达式 的文档。

示例

运行一个 SHOW TAG KEYS 查询与 ON 子句

> SHOW TAG KEYS ON "NOAA_water_database"

name: average_temperature
tagKey
------
location

name: h2o_feet
tagKey
------
location

name: h2o_pH
tagKey
------
location

name: h2o_quality
tagKey
------
location
randtag

name: h2o_temperature
tagKey
------
location

查询返回 NOAA_water_database 数据库中的标签键列表。 输出按测量名称对标签键进行分组; 这表明每个测量都有 location 标签键,并且 h2o_quality 测量还有一个额外的 randtag 标签键。

运行一个 SHOW TAG KEYS 查询而不使用 ON 子句

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW TAG KEYS

name: average_temperature
tagKey
------
location

name: h2o_feet
tagKey
------
location

name: h2o_pH
tagKey
------
location

name: h2o_quality
tagKey
------
location
randtag

name: h2o_temperature
tagKey
------
location

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW TAG KEYS"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "average_temperature",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_feet",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_pH",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_quality",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ],
                        [
                            "randtag"
                        ]
                    ]
                },
                {
                    "name": "h2o_temperature",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                }
            ]
        }
    ]
}

运行一个 SHOW TAG KEYS 查询,带有多个子句

> SHOW TAG KEYS ON "NOAA_water_database" FROM "h2o_quality" LIMIT 1 OFFSET 1

name: h2o_quality
tagKey
------
randtag

查询返回来自NOAA_water_database数据库中h2o_quality测量的标签键。LIMITOFFSET子句将返回的标签键数量限制为一个,并将结果偏移一个。

运行一个 SHOW TAG KEYS 查询,带有 WITH KEY IN 子句

> SHOW TAG KEYS ON "telegraf" WITH KEY IN ("host","region")

"measurement","tagKey"
"cpu","host"
"cpu_load_short","host"
"cpu_load_short","region"
"disk","host"
"diskio","host"
"docker","host"
"docker_container_blkio","host"
"docker_container_cpu","host"
"docker_container_mem","host"
"docker_container_status","host"

SHOW TAG VALUES

返回指定数据库中tag key(s)tag values列表。

语法

SHOW TAG VALUES [ON <database_name>][FROM_clause] WITH KEY [ [<operator> "<tag_key>" | <regular_expression>] | [IN ("<tag_key1>","<tag_key2")]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法描述

ON <database_name> 是可选的。 如果查询不包括 ON <database_name>,您必须通过 USE <database_name>CLI 中或在 InfluxDB API 请求中的 db 查询字符串参数来指定数据库。

需要使用WITH子句。 它支持指定单个标签键、正则表达式和多个标签键。

FROMWHERELIMITOFFSET 子句是可选的。 WHERE 子句支持标签比较;字段比较在 SHOW TAG KEYS 查询中无效。

WITHWHERE 子句中支持的运算符: =   等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面以获取有关 FROM 子句, LIMIT 子句, OFFSET 子句, 以及 查询中的正则表达式 的文档。

示例

运行一个 SHOW TAG VALUES 查询,带有 ON 子句

> SHOW TAG VALUES ON "NOAA_water_database" WITH KEY = "randtag"

name: h2o_quality
key       value
---       -----
randtag   1
randtag   2
randtag   3

查询返回 NOAA_water_database 数据库中 randtag 标签键的所有标签值。SHOW TAG VALUES 根据测量名称对查询结果进行分组。

运行一个 SHOW TAG VALUES 查询,没有 ON 子句

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW TAG VALUES WITH KEY = "randtag"

name: h2o_quality
key       value
---       -----
randtag   1
randtag   2
randtag   3

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode 'q=SHOW TAG VALUES WITH KEY = "randtag"'

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "h2o_quality",
                    "columns": [
                        "key",
                        "value"
                    ],
                    "values": [
                        [
                            "randtag",
                            "1"
                        ],
                        [
                            "randtag",
                            "2"
                        ],
                        [
                            "randtag",
                            "3"
                        ]
                    ]
                }
            ]
        }
    ]
}

运行一个 SHOW TAG VALUES 查询,带有多个子句

> SHOW TAG VALUES ON "NOAA_water_database" WITH KEY IN ("location","randtag") WHERE "randtag" =~ /./ LIMIT 3

name: h2o_quality
key        value
---        -----
location   coyote_creek
location   santa_monica
randtag	   1

查询返回所有测量值中标签键 locationrandtag 的标签值,这些测量值位于 NOAA_water_database 数据库中,其中 randtag 具有标签值。LIMIT 子句将返回的标签值数量限制为三个。

SHOW FIELD KEYS

返回字段键及其数据类型字段值

语法

SHOW FIELD KEYS [ON <database_name>] [FROM <measurement_name>]

语法描述

ON <database_name> 是可选的。 如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

FROM 子句也是可选的。 查看数据探索页面以获取关于FROM 子句的文档。

注意: 字段的数据类型 可以不同分片。 如果您的字段有多个类型,SHOW FIELD KEYS 将返回以下列表中 首先出现的类型:float, integer, string, boolean。

示例

运行一个 SHOW FIELD KEYS 查询,并使用 ON 子句

> SHOW FIELD KEYS ON "NOAA_water_database"

name: average_temperature
fieldKey            fieldType
--------            ---------
degrees             float

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

name: h2o_pH
fieldKey            fieldType
--------            ---------
pH                  float

name: h2o_quality
fieldKey            fieldType
--------            ---------
index               float

name: h2o_temperature
fieldKey            fieldType
--------            ---------
degrees             float

该查询返回NOAA_water_database数据库中每个测量的字段键和字段值数据类型。

运行一个 SHOW FIELD KEYS 查询而不使用 ON 子句

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW FIELD KEYS

name: average_temperature
fieldKey            fieldType
--------            ---------
degrees             float

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

name: h2o_pH
fieldKey            fieldType
--------            ---------
pH                  float

name: h2o_quality
fieldKey            fieldType
--------            ---------
index               float

name: h2o_temperature
fieldKey            fieldType
--------            ---------
degrees             float

使用 db 查询字符串参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode 'q=SHOW FIELD KEYS'

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "average_temperature",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "degrees",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_feet",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "level description",
                            "string"
                        ],
                        [
                            "water_level",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_pH",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "pH",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_quality",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "index",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_temperature",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "degrees",
                            "float"
                        ]
                    ]
                }
            ]
        }
    ]
}

使用 FROM 子句运行 SHOW FIELD KEYS 查询

> SHOW FIELD KEYS ON "NOAA_water_database" FROM "h2o_feet"

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

查询返回 NOAA_water_database 数据库中 h2o_feet 测量的字段键和字段值数据类型。

关于 SHOW FIELD KEYS 的常见问题

显示字段键和字段类型差异

字段值 数据类型分片 内不能不同,但它们 可以在不同的分片之间有所不同。 SHOW FIELD KEYS 返回与 字段键相关的每个数据类型,跨越每个分片。

示例

字段 all_the_types 存储四种不同的数据类型:

> SHOW FIELD KEYS

name: mymeas
fieldKey        fieldType
--------        ---------
all_the_types   integer
all_the_types   float
all_the_types   string
all_the_types   boolean

请注意,SHOW FIELD KEYS 在处理字段类型差异时与SELECT语句的处理方式不同。更多信息,请参阅InfluxDB如何处理跨分片的字段类型差异?

SHOW CARDINALITY

SHOW CARDINALITY 指的是用于估计或准确计算测量、系列、标签键、标签键值和字段键基数的一组命令。

有关 SHOW CARDINALITY 命令的更多信息,请参见 InfluxQL reference entry

SHOW FIELD KEY CARDINALITY

-- show estimated cardinality of the field key set of current database
SHOW FIELD KEY CARDINALITY
-- show exact cardinality on field key set of specified database
SHOW FIELD KEY EXACT CARDINALITY ON mydb

SHOW MEASUREMENT KEY CARDINALITY

-- show estimated cardinality of measurement set on current database
SHOW MEASUREMENT CARDINALITY
-- show exact cardinality of measurement set on specified database
SHOW MEASUREMENT EXACT CARDINALITY ON mydb

SHOW SERIES CARDINALITY

-- show estimated cardinality of the series on current database
SHOW SERIES CARDINALITY
-- show estimated cardinality of the series on specified database
SHOW SERIES CARDINALITY ON mydb
-- show exact series cardinality
SHOW SERIES EXACT CARDINALITY
-- show series cardinality of the series on specified database
SHOW SERIES EXACT CARDINALITY ON mydb

SHOW TAG KEY CARDINALITY

-- show estimated tag key cardinality
SHOW TAG KEY CARDINALITY
-- show exact tag key cardinality
SHOW TAG KEY EXACT CARDINALITY

SHOW TAG VALUES CARDINALITY

-- show estimated tag key values cardinality for a specified tag key
SHOW TAG VALUES CARDINALITY WITH KEY = "myTagKey"
-- show estimated tag key values cardinality for a specified tag key
SHOW TAG VALUES CARDINALITY WITH KEY = "myTagKey"
-- show exact tag key values cardinality for a specified tag key
SHOW TAG VALUES EXACT CARDINALITY WITH KEY = "myTagKey"
-- show exact tag key values cardinality for a specified tag key
SHOW TAG VALUES EXACT CARDINALITY WITH KEY = "myTagKey"

按时间过滤元查询

当您按时间过滤元查询时,您可能会看到超出指定时间的结果。元查询结果在分片级别进行过滤,因此结果的颗粒度大致可以与您的分片组持续时间相当。如果您的时间过滤跨越多个分片,您将获得指定时间范围内所有分片的结果。要查看您的分片和分片点的时间戳,请运行 SHOW SHARDS。要了解有关分片及其持续时间的更多信息,请参见 推荐的分片组持续时间

下面的示例显示了如何使用 1h 分片组持续时间过滤 SHOW TAG KEYS 大约一小时。要过滤其他元数据,将 SHOW TAG KEYS 替换为 SHOW TAG VALUESSHOW SERIESSHOW FIELD KEYS 等等。

注意: SHOW MEASUREMENTS 不能通过时间来过滤。

按时间过滤 SHOW TAG KEYS 示例

  1. 在新数据库上指定分片持续时间或 更改现有分片持续时间。要在创建新数据库时指定1小时的分片持续时间,请运行以下命令:

    > CREATE database mydb with duration 7d REPLICATION 1 SHARD DURATION 1h name myRP;
    

    注意: 最小分片持续时间为1小时。

  2. 通过运行 SHOW SHARDS 命令来验证分片持续时间是否具有正确的时间间隔(精度)。下面的示例显示了一个具有小时精度的分片持续时间。

    > SHOW SHARDS
    name: mydb
    id database retention_policy shard_group start_time end_time expiry_time owners
    -- -------- ---------------- ----------- ---------- -------- ----------- ------
    > precision h
    
  3. (可选) 插入示例标签键。此步骤仅用于演示。如果您已经有要搜索的标签键(或其他元数据),请跳过此步骤。

    // Insert a sample tag called "test_key" into the "test" measurement, and then check the timestamp:
    > INSERT test,test_key=hello value=1
    
    > select * from test
    name: test
    time test_key value
    ---- -------- -----
    434820 hello 1
    
    // Add new tag keys with timestamps one, two, and three hours earlier:
    
    > INSERT test,test_key_1=hello value=1 434819
    > INSERT test,test_key_2=hello value=1 434819
    > INSERT test,test_key_3_=hello value=1 434818
    > INSERT test,test_key_4=hello value=1 434817
    > INSERT test,test_key_5_=hello value=1 434817
    
  4. 要在分片持续时间内查找标签键,请运行以下命令之一:

    SHOW TAG KEYS ON database-name <WHERE time clause>

    SELECT * FROM measurement <WHERE time clause>

    下面的示例使用步骤3中的测试数据。

    //Using data from Step 3, show tag keys between now and an hour ago
    > SHOW TAG KEYS ON mydb where time > now() -1h and time < now()
    name: test
    tagKey
    ------
    test_key
    test_key_1
    test_key_2
    
    // Find tag keys between one and two hours ago
    > SHOW TAG KEYS ON mydb where > time > now() -2h and time < now()-1h
    name: test
    tagKey
    ------
    test_key_1
    test_key_2
    test_key_3
    
    // Find tag keys between two and three hours ago
    > SHOW TAG KEYS ON mydb where > time > now() -3h and time < now()-2h
    name: test
    tagKey
    ------
    test_key_3
    test_key_4
    test_key_5
    
    // For a specified measurement, find tag keys in a given shard by specifying the time boundaries of the shard
    > SELECT * FROM test WHERE time >= '2019-08-09T00:00:00Z' and time < '2019-08-09T10:00:00Z'
    name: test
    time test_key_4 test_key_5 value
    ---- ------------ ------------ -----
    434817 hello 1
    434817 hello 1
    
    // For a specified database, find tag keys in a given shard by specifying the time boundaries of the shard
    > SHOW TAG KEYS ON mydb WHERE time >= '2019-08-09T00:00:00Z' and time < '2019-08-09T10:00:00Z'
    name: test
    tagKey
    ------
    test_key_4
    test_key_5
    


Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

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