使用 InfluxQL 探索您的模式
查看等效的 InfluxDB v2 文档: 使用 Flux 探索数据模式.
InfluxQL 是一种类似于 SQL 的查询语言,用于与 InfluxDB 中的数据进行交互。以下部分涵盖了用于探索您的 模式 的有用查询语法。
显示数据库 | 显示保留策略 | 显示系列 |
显示度量 | 显示标签键 | 显示标签值 |
显示字段键 | 按时间过滤元查询 |
示例数据
本文档中使用的数据可在 样本数据 页面上下载。
在继续之前,请登录到 Influx CLI。
$ influx -precision rfc3339
Connected to https://127.0.0.1:8086 version 1.11.7
InfluxDB shell 1.11.7
>
显示数据库
返回实例上所有 数据库 的列表。
语法
SHOW DATABASES
示例
运行 SHOW DATABASES
查询
> SHOW DATABASES
name: databases
name
----
NOAA_water_database
_internal
查询以表格格式返回数据库名称。此 InfluxDB 实例有两个数据库:NOAA_water_database
和 _internal
。
显示保留策略
语法
SHOW RETENTION POLICIES [ON <database_name>]
语法说明
ON <database_name>
是可选的。如果查询不包括 ON <database_name>
,则必须在 CLI 中使用 USE <database_name>
指定数据库,或者在 InfluxDB API 请求中使用 db
查询字符串参数。
示例
使用 ON
子句运行 SHOW RETENTION POLICIES
查询
> SHOW RETENTION POLICIES ON NOAA_water_database
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
查询以表格格式返回 NOAA_water_database
数据库中的保留策略列表。该数据库有一个名为 autogen
的保留策略。该 autogen
保留策略具有无限 持续时间,七天 分片组持续时间,一个 复制因子,并且是数据库的 DEFAULT
保留策略。
不使用 ON
子句运行 SHOW RETENTION POLICIES
查询
使用 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 "https://127.0.0.1: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 [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
只返回数据库的默认保留策略中的系列,如果没有默认保留策略,则失败。
FROM
、WHERE
、LIMIT
和 OFFSET
子句是可选的。 WHERE
子句支持标签比较;对于 SHOW SERIES
查询,字段比较无效。
WHERE子句中支持的操作符:=
等于 <>
不等于 !=
不等于 =~
匹配 !~
不匹配
请参阅数据探索页面,以获取有关FROM
子句、LIMIT
子句、OFFSET
子句以及查询中的正则表达式的文档。
示例
使用ON
子句运行SHOW SERIES
查询
// 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 "https://127.0.0.1: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 [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
查询字符串参数。
WITH
、WHERE
、LIMIT
和OFFSET
子句是可选的。WHERE子句支持标签比较;对于SHOW MEASUREMENTS
查询,字段比较是无效的。
WHERE子句中支持的操作符:=
等于 <>
不等于 !=
不等于 =~
匹配 !~
不匹配
请参阅数据探索页面,以获取有关LIMIT
子句、OFFSET
子句以及查询中的正则表达式的文档。
示例
使用ON
子句运行SHOW MEASUREMENTS
查询
> SHOW MEASUREMENTS ON NOAA_water_database
name: measurements
name
----
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature
该查询返回NOAA_water_database
数据库中的测量列表。该数据库有五个测量:average_temperature
、h2o_feet
、h2o_pH
、h2o_quality
和h2o_temperature
。
不使用ON
子句运行SHOW MEASUREMENTS
查询
使用 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 "https://127.0.0.1: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
该查询返回以h2o
开头的NOAA_water_database
数据库中的测量。LIMIT和OFFSET子句将返回的测量名称数量限制为两个,并将结果偏移量设置为1,跳过了h2o_feet
测量。
使用几个子句运行SHOW MEASUREMENTS
查询(ii)
> SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ WHERE "randtag" =~ /\d/
name: measurements
name
----
h2o_quality
该查询返回以h2o
开头且标签键randtag
的值包含整数的NOAA_water_database
中的所有测量。
显示标签键
返回与指定数据库关联的标签键列表。
语法
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
标签键。
运行不带ON
子句的SHOW TAG KEYS
查询
使用 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 "https://127.0.0.1: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
测量中的标签键。`LIMIT`和`OFFSET`子句限制了返回的标签键数量为一个,并将结果偏移了一个。
运行带有WITH KEY IN
子句的SHOW TAG KEYS
查询
> 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"
显示标签值
返回数据库中指定tag key(s)
的tag value(s)
列表。
语法
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>
,则必须在 CLI 中使用 USE <database_name>
指定数据库,或者在 InfluxDB API 请求中使用 db
查询字符串参数。
WITH
子句是必需的。它支持指定单个标签键、正则表达式和多个标签键。
FROM
、WHERE
、LIMIT
和OFFSET
子句是可选的。`WHERE`子句支持标签比较;对于`SHOW TAG KEYS`查询,字段比较是无效的。
WITH
和WHERE
子句中支持的运算符:=
等于<>
不等于!=
不等于=~
匹配!~
不匹配
请参阅数据探索页面,以获取有关FROM
子句、LIMIT
子句、OFFSET
子句以及查询中的正则表达式的文档。
示例
使用ON
子句运行SHOW TAG VALUES
查询
> 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》按测量名称分组查询结果。
运行不带ON
子句的SHOW TAG VALUES
查询
使用 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 "https://127.0.0.1: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
查询返回在NOAA_water_database
数据库中具有标签值的randtag
标签键的标签值,并且所有测量都在其中。`LIMIT`子句限制了返回的标签值数量为三个。
显示字段键
返回field key
和它们field value
的数据类型。
语法
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。
示例
使用ON
子句运行SHOW FIELD KEYS
查询
> 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
数据库中每个测量的字段键和字段值数据类型。
运行不带ON
子句的SHOW FIELD KEYS
查询
使用 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 "https://127.0.0.1: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
和字段类型不匹配
字段值数据类型不能在分片内不同,但可以在分片之间不同。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 参考条目。
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 VALUES
、SHOW SERIES
、SHOW FIELD KEYS
等。
注意:
SHOW MEASUREMENTS
不能按时间过滤。
按时间过滤 SHOW TAG KEYS
的示例
在新建数据库时指定分片持续时间或 更改现有分片持续时间。要创建新数据库时指定 1h 分片持续时间,请运行以下命令
> CREATE database mydb with duration 7d REPLICATION 1 SHARD DURATION 1h name myRP;
注意:最小分片持续时间是 1h。
通过运行
SHOW SHARDS
命令来验证分片持续时间是否具有正确的时间间隔(精度)。以下示例显示了一个具有一小时精度的分片持续时间。> SHOW SHARDS name: mydb id database retention_policy shard_group start_time end_time expiry_time owners -- -------- ---------------- ----------- ---------- -------- ----------- ------ > precision h
(可选) 插入示例标签键。此步骤仅用于演示目的。如果您已经拥有要搜索的标签键(或其他元数据),请跳过此步骤。
// 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
要找到分片持续时间内的标签键,请运行以下命令之一
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
这个页面有帮助吗?
感谢您的反馈!