文档文档

使用 InfluxQL 探索您的模式

使用 InfluxQL 探索您的时序数据模式。使用以下 InfluxQL 命令来探索您的模式

命令示例使用 NOAA 水质示例数据

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>,您必须在 InfluxDB API 请求中使用 db 查询字符串参数指定数据库。

  • FROMWHERELIMITOFFSET 子句是可选的。

  • SHOW SERIES 中的 WHERE 子句支持标签比较,但不支持字段比较。

    WHERE 子句中支持的运算符:

    • =:等于
    • <>:不等于
    • !=:不等于
    • =~:匹配
    • !~:不匹配

有关 FROM 子句LIMIT 子句OFFSET 子句正则表达式的文档,请参阅 使用 InfluxQL 探索数据

示例

运行带有 ON 子句的 SHOW SERIES

SHOW SERIES ON noaa

输出

查询返回 noaa 数据库中的所有序列。查询的输出类似于 Line Protocol 格式。第一个逗号之前的所有内容都是测量名称。第一个逗号之后的所有内容都是标签键标签值noaa 数据库有 5 种不同的测量和 13 种不同的序列。

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

运行带有多个子句的 SHOW SERIES

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

输出

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

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

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>,您必须在 InfluxDB API 请求中使用 db 查询字符串参数指定数据库。

  • WITHWHERELIMITOFFSET 子句是可选的。

  • SHOW MEASUREMENTS 中的 WHERE 支持标签比较,但不支持字段比较。

    WHERE 子句中支持的运算符

    • = : 等于
    • <>:不等于
    • !=:不等于
    • =~:匹配
    • !~:不匹配

有关 FROM 子句LIMIT 子句OFFSET 子句正则表达式的文档,请参阅 使用 InfluxQL 探索数据

示例

运行带有 ON 子句的 SHOW MEASUREMENTS

SHOW MEASUREMENTS ON noaa

输出

查询返回 noaa 数据库中的测量列表。该数据库有五个测量:average_temperatureh2o_feeth2o_pHh2o_qualityh2o_temperature

name
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature

运行带有多个子句的 SHOW MEASUREMENTS (i)

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

输出

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

name
h2o_pH
h2o_quality

运行带有多个子句的 SHOW MEASUREMENTS (ii)

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

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

name
h2o_quality

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>,您必须在 InfluxDB API 请求中使用 db 查询字符串参数指定数据库。

  • FROM 子句和 WHERE 子句是可选的。

  • SHOW TAG KEYS 中的 WHERE 子句支持标签比较,但不支持字段比较。

    WHERE 子句中支持的运算符

    • = : 等于
    • <>:不等于
    • !=:不等于
    • =~:匹配
    • !~:不匹配

有关 FROM 子句LIMIT 子句OFFSET 子句正则表达式的文档,请参阅 使用 InfluxQL 探索数据

示例

运行带有 ON 子句的 SHOW TAG KEYS

SHOW TAG KEYS ON noaa

输出

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

nametagKey
average_temperaturelocation
h2o_feetlocation
h2o_pHlocation
h2o_qualitylocation
h2o_qualityrandtag
h2o_temperaturelocation

运行带有多个子句的 SHOW TAG KEYS

SHOW TAG KEYS ON noaa FROM "h2o_quality" LIMIT 1 OFFSET 1

输出

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

nametagKey
h2o_qualityrandtag

运行带有 WITH KEY IN 子句的 SHOW TAG KEYS

SHOW TAG KEYS ON noaa WITH KEY IN ("location") 

输出

measurementtagKey
average_temperaturelocation
h2o_feetlocation
h2o_pHlocation
h2o_qualitylocation
h2o_qualityrandtag
h2o_temperaturelocation

SHOW 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>,您必须在 InfluxDB API 请求中使用 db 查询字符串参数指定数据库。

  • WITH 子句是必需的。它支持指定单个标签键、正则表达式和多个标签键。

  • FROMWHERELIMITOFFSET 子句是可选的。

  • SHOW TAG KEYS 中的 WHERE 子句支持标签比较,但不支持字段比较。

    WITHWHERE 子句中支持的运算符

    • = : 等于
    • <>:不等于
    • !=:不等于
    • =~:匹配
    • !~:不匹配

有关 FROM 子句LIMIT 子句OFFSET 子句正则表达式的文档,请参阅 使用 InfluxQL 探索数据

示例

运行带有 ON 子句的 SHOW TAG VALUES

SHOW TAG VALUES ON noaa WITH KEY = "randtag"

输出

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

name: h2o_quality

keyvalue
randtag1
randtag2
randtag3

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

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

输出

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

name: h2o_quality

keyvalue
locationcoyote_creek
locationsanta_monica
randtag1

SHOW FIELD KEYS

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

语法

SHOW FIELD KEYS [ON <database_name>] [FROM <measurement_name>]
  • ON <database_name> 是可选的。如果查询不包含 ON <database_name>,则在使用 InfluxQL shell 时,您必须使用 USE <database_name> 指定数据库,或者在 InfluxDB 1.x 兼容性 API 请求中使用 db 查询字符串参数指定数据库。
  • FROM 子句是可选的。有关 FROM 子句的文档,请参阅数据探索页面。

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

示例

运行带有 ON 子句的 SHOW FIELD KEYS

SHOW FIELD KEYS ON noaa

输出

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

namefieldKeyfieldType
average_temperaturedegreesfloat
h2o_feetlevel descriptionstring
h2o_feetwater_levelfloat
h2o_pHpHfloat
h2o_qualityindexfloat
hh2o_temperaturedegreesfloat

运行带有 FROM 子句的 SHOW FIELD KEYS

SHOW FIELD KEYS ON noaa FROM h2o_feet

输出

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

namefieldKeyfieldType
h2o_feetlevel descriptionstring
h2o_feetwater_levelfloat

SHOW FIELD KEYS 的常见问题

SHOW FIELD KEYS 和字段类型差异

字段值数据类型分片内不能不同,但在分片之间可以不同。SHOW FIELD KEYS 返回与字段键关联的每个分片中的每种数据类型。

示例

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

SHOW FIELD KEYS

name: mymeas

fieldKeyfieldType
all_the_typesinteger
all_the_typesfloat
all_the_typesstring
all_the_typesboolean

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

SHOW FIELD KEY CARDINALITY

基数性是您的 Influx 实例中所有唯一数据库、保留策略、测量、字段键和标签值的乘积。管理基数性非常重要,因为高基数性会导致更大的资源使用。

-- 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 noaa

SHOW TAG KEY CARDINALITY

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

这个页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

欲了解更多信息,请查看