使用 InfluxQL 探索您的模式
使用 InfluxQL 探索您的时序数据模式。使用以下 InfluxQL 命令来探索您的模式
- SHOW SERIES
- SHOW MEASUREMENTS
- SHOW TAG KEYS
- SHOW TAG VALUES
- SHOW FIELD KEYS
- SHOW FIELD KEY CARDINALITY
- SHOW TAG KEY CARDINALITY
命令示例使用 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
查询字符串参数指定数据库。FROM
、WHERE
、LIMIT
和OFFSET
子句是可选的。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
查询字符串参数指定数据库。WITH
、WHERE
、LIMIT
和OFFSET
子句是可选的。SHOW MEASUREMENTS
中的WHERE
支持标签比较,但不支持字段比较。WHERE
子句中支持的运算符=
: 等于<>
:不等于!=
:不等于=~
:匹配!~
:不匹配
有关 FROM
子句、LIMIT
子句、OFFSET
子句和 正则表达式的文档,请参阅 使用 InfluxQL 探索数据。
示例
运行带有 ON 子句的 SHOW MEASUREMENTS
SHOW MEASUREMENTS ON noaa
输出
查询返回 noaa
数据库中的测量列表。该数据库有五个测量:average_temperature
、h2o_feet
、h2o_pH
、h2o_quality
和 h2o_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
开头的测量。LIMIT
和 OFFSET
子句将返回的测量名称数量限制为两个,并将结果偏移一个,跳过 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
标签键。
name | tagKey |
---|---|
average_temperature | location |
h2o_feet | location |
h2o_pH | location |
h2o_quality | location |
h2o_quality | randtag |
h2o_temperature | location |
运行带有多个子句的 SHOW TAG KEYS
SHOW TAG KEYS ON noaa FROM "h2o_quality" LIMIT 1 OFFSET 1
输出
查询返回来自 noaa
数据库中 h2o_quality
测量的标签键。LIMIT
和 OFFSET
子句将返回的标签键数量限制为一个,并将结果偏移一个。
name | tagKey |
---|---|
h2o_quality | randtag |
运行带有 WITH KEY IN 子句的 SHOW TAG KEYS
SHOW TAG KEYS ON noaa WITH KEY IN ("location")
输出
measurement | tagKey |
---|---|
average_temperature | location |
h2o_feet | location |
h2o_pH | location |
h2o_quality | location |
h2o_quality | randtag |
h2o_temperature | location |
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
子句是必需的。它支持指定单个标签键、正则表达式和多个标签键。FROM
、WHERE
、LIMIT
和OFFSET
子句是可选的。SHOW TAG KEYS
中的WHERE
子句支持标签比较,但不支持字段比较。WITH
和WHERE
子句中支持的运算符=
: 等于<>
:不等于!=
:不等于=~
:匹配!~
:不匹配
有关 FROM
子句、LIMIT
子句、OFFSET
子句和 正则表达式的文档,请参阅 使用 InfluxQL 探索数据。
示例
运行带有 ON 子句的 SHOW TAG VALUES
SHOW TAG VALUES ON noaa WITH KEY = "randtag"
输出
查询返回 noaa
数据库中 randtag
标签键的所有标签值。SHOW TAG VALUES
按测量名称对查询结果进行分组。
key | value |
---|---|
randtag | 1 |
randtag | 2 |
randtag | 3 |
运行带有多个子句的 SHOW TAG VALUES
查询
SHOW TAG VALUES ON noaa WITH KEY IN ("location","randtag") WHERE "randtag" =~ /./ LIMIT 3
输出
查询返回 noaa
数据库中所有测量的标签键 location
和 randtag
的标签值,其中 randtag
具有标签值。LIMIT
子句将返回的标签值数量限制为三个。
key | value |
---|---|
location | coyote_creek |
location | santa_monica |
randtag | 1 |
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
子句的文档,请参阅数据探索页面。
示例
运行带有 ON 子句的 SHOW FIELD KEYS
SHOW FIELD KEYS ON noaa
输出
查询返回 noaa
数据库中每个测量的字段键和字段值数据类型。
name | fieldKey | fieldType |
---|---|---|
average_temperature | degrees | float |
h2o_feet | level description | string |
h2o_feet | water_level | float |
h2o_pH | pH | float |
h2o_quality | index | float |
hh2o_temperature | degrees | float |
运行带有 FROM 子句的 SHOW FIELD KEYS
SHOW FIELD KEYS ON noaa FROM h2o_feet
输出
查询返回 noaa
数据库中 h2o_feet
测量的字段键和字段值数据类型。
name | fieldKey | fieldType |
---|---|---|
h2o_feet | level description | string |
h2o_feet | water_level | float |
SHOW FIELD KEYS 的常见问题
SHOW FIELD KEYS 和字段类型差异
字段值数据类型在分片内不能不同,但在分片之间可以不同。SHOW FIELD KEYS
返回与字段键关联的每个分片中的每种数据类型。
示例
all_the_types
字段存储四种不同的数据类型
SHOW FIELD KEYS
fieldKey | fieldType |
---|---|
all_the_types | integer |
all_the_types | float |
all_the_types | string |
all_the_types | boolean |
请注意,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
这个页面是否对您有帮助?
感谢您的反馈!
支持与反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。如需获取支持,请使用以下资源
拥有年度或支持合同的客户 可以联系 InfluxData 支持。