使用InfluxQL探索您的模式
本页记录了InfluxDB OSS的早期版本。 InfluxDB OSS v2 是最新稳定版本。 查看等效的 InfluxDB v2 文档: 使用Flux探索您的数据模式。
InfluxQL是一种类似于SQL的查询语言,用于与InfluxDB中的数据交互。以下部分涵盖了用于探索您的 模式 的有用查询语法。
SHOW DATABASES | SHOW RETENTION POLICIES | SHOW SERIES | |
SHOW MEASUREMENTS | SHOW TAG KEYS | SHOW TAG VALUES | |
SHOW FIELD KEYS | SHOW CARDINALITY | 通过时间过滤元查询 |
示例数据
本文档中使用的数据可在 示例数据 页面上下载。
在继续之前,请登录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
查询
> 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
查询字符串参数指定数据库。
示例
使用 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
语法
SHOW SERIES [ON <database_name>] [FROM_clause] [WHERE <tag_key> <operator> [ '<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]
语法说明
ON <数据库名>
是可选的。如果查询中没有包含 ON <数据库名>
,则必须在 CLI 中使用 USE <数据库名>
或者在 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
返回指定数据库的 测量 列表。
语法
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
子句将返回的测量名称数量限制为两个,并将结果偏移一个,跳过了 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
语法
SHOW TAG KEYS [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
查询字符串参数指定数据库。
FROM
子句和 WHERE
子句是可选的。WHERE
子句支持标签比较;对于 SHOW TAG KEYS
查询,字段比较是不有效的。
WHERE 子句中支持的操作符:=
等于 <>
不等于 !=
不等于 =~
匹配 !~
不匹配
请参阅数据探索页面以获取有关 FROM
子句、LIMIT
子句、OFFSET
子句以及查询中的 正则表达式 的文档。
示例
带有 ON
子句运行 SHOW TAG KEYS
查询
> 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
子句将返回的标签键数量限制为一个,并将结果偏移一个。
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>
,则必须在 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
数据库中所有测量值的标签键 location
和 randtag
的标签值,其中 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
返回的是以下列表中首先出现的类型:浮点数、整数、字符串、布尔。
示例
运行带有 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
。要了解更多关于分片及其持续时间的知识,请参阅 推荐的分片组持续时间。
以下示例显示了如何使用 1 小时分片组持续时间过滤大约 1 小时的 SHOW TAG KEYS
。要过滤其他元数据,将 SHOW TAG KEYS
替换为 SHOW TAG VALUES
、SHOW SERIES
、SHOW FIELD KEYS
等。
注意:
SHOW MEASUREMENTS
不能按时间过滤。
按时间过滤 SHOW TAG KEYS
的示例
在新建数据库上指定分片持续时间或 修改现有分片持续时间。要在创建新数据库时指定 1 小时分片持续时间,请运行以下命令
> CREATE database mydb with duration 7d REPLICATION 1 SHARD DURATION 1h name myRP;
注意: 最小分片持续时间是 1 小时。
通过运行
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 数据库名 <WHERE 时间子句>
或SELECT * FROM measurement <WHERE 时间子句>
以下示例使用步骤 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
这个页面有用吗?
感谢您的反馈!