定义自定义分区
使用influxctl CLI
在创建数据库或表时定义自定义分区策略。
默认情况下,InfluxDB Clustered 按天分区数据。
数据库或表的分区策略由一个分区模板确定,该模板定义了分区键的命名模式。分区键唯一标识每个分区。当分区模板应用于数据库时,它成为该数据库中所有表的默认模板,但在创建表时可以被覆盖。
分区模板只能在创建时应用
您只能在创建数据库或表时应用分区模板。 您无法更新现有资源上的分区模板。
使用以下命令标志来识别 分区模板部分:
--template-tag: 一个 InfluxDB 标签 用于分区模板中。--template-tag-bucket: 一个 InfluxDB 标签 以及将标签值分组的“桶”的数量。 提供标签键和用于将标签值分组的桶的数量,使用逗号分隔:tagKey,N.--template-timeformat: 一个 Rust strftime 日期和时间 字符串,用于指定分区模板中的时间格式,并确定分区的时间间隔。
一个分区模板最多可以包含7个标签和标签桶部分,且只能包含1个时间部分。
查看 分区模板部分限制。
使用自定义分区时始终提供时间格式
当使用任何 influxctl --template-* 标志为您的数据库或表定义自定义分区模板时,请始终包含 --template-timeformat 标志以及您要在分区模板中使用的时间格式。否则,InfluxDB 将从分区模板中省略时间,并且不会压缩分区。
使用自定义分区模板创建数据库
以下示例创建一个新的 example-db 数据库,并应用一个分区模板,该模板通过两个标签(room 和 sensor-type)的不同值进行分区,使用 customerID 标签的分桶值,并按天分区,时间格式为 %Y-%m-%d:
influxctl database create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,500 \
--template-timeformat '%Y-%m-%d' \
example-db
使用自定义分区模板创建表
以下示例在指定的数据库中创建一个新的 example-table 表,并应用一个分区模板,该模板通过两个标签 (room 和 sensor-type) 的不同值进行分区,通过 customerID 标签的分桶值,以及按月份进行分区,使用时间格式 %Y-%m:
influxctl table create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,500 \
--template-timeformat '%Y-%m' \
DATABASE_NAME \
example-table
在您的命令中替换以下内容:
DATABASE_NAME: 你的 InfluxDB 集群 数据库
示例分区模板
给定以下 行协议
带有 2024-01-01T00:00:00Z 时间戳:
prod,line=A,station=weld1 temp=81.9,qty=36i 1704067200000000000
按不同标签值进行分区
| 描述 | 标签部分 | 时间部分 | 结果分区键 |
|---|---|---|---|
| 按日(默认) | %Y-%m-%d | 2024-01-01 | |
| 按月份 | %Y-%m | 2024-01 | |
| 按年份 | %Y | 2024 | |
| 按天单一标签 | line | %Y-%m-%d | A | 2024-01-01 |
| 按月的单个标签 | line | %Y-%m | A | 2024-01 |
| 按年单标记 | line | %Y | A | 2024 |
| 多标签,按天 | line, station | %Y-%m-%d | A | weld1 | 2024-01-01 |
| 按月份的多个标签 | line, station | %Y-%m | A | weld1 | 2024-01 |
| 按年份的多个标签 | line, station | %Y | A | weld1 | 2024 |
按标签分区桶
| 描述 | 标签部分 | 标签桶部分 | 时间部分 | 结果分区键 |
|---|---|---|---|---|
| 按天的不同标签、标签桶 | line | station,100 | %Y-%m-%d | A | 3 | 2024-01-01 |
| 按月的不同标签、标签桶 | line | station,500 | %Y-%m | A | 303 | 2024-01 |