分区模板
使用分区模板定义用于生成分区键的模式。分区键唯一标识一个分区,并用于在 对象存储 中命名分区 Parquet 文件。
一个分区模板由 1-8 个模板部分组成——用于分区数据的维度。存在三种类型的模板部分
- tag:用于分区的 InfluxDB 标签。
- tag bucket:一个 InfluxDB 标签 和用于将标签值分组到其中的“bucket”数量。数据按标签 bucket 而不是每个不同的标签值进行分区。
- * 必需 time:一个 Rust strftime 日期和时间字符串,用于指定分区数据的时间间隔。时间部分模板中包含的最小时间单位是用于分区数据的时间间隔。
限制
模板部分大小限制
每个模板部分的长度限制为 200 字节。任何更长的内容都将在 200 字节处被截断,并附加 #
。
分区键大小限制
由于模板部分被截断,分区键的最大长度为 1,607 字节(1.57 KiB)。
保留关键字
以下保留关键字不能在分区模板中使用
time
保留字符
如果在模板部分中使用,则非 ASCII 字符和以下保留字符必须进行 百分比编码
|
:分区键部分分隔符!
:空值或缺少分区键部分^
:空字符串分区键部分#
:键部分截断标记%
:明确反转百分比编码所必需
标签部分模板
标签部分模板由要分区的标签键组成。生成的分区键包含每个分区特有的唯一标签值。
一个分区模板在一个操作标签(标签值和标签 bucket)的模板部分中,给定的标签键只能包含一次——例如
如果模板基于 tag_A
的唯一值进行分区,则不能将 tag_A
用作标签 bucket 部分。
标签 bucket 部分模板
标签 bucket 部分模板由要分区的标签键和要将标签值分区到的“bucket”数量组成——例如
customerID,500
customerID
标签的值被分到 500 个不同的“bucket”中。每个 bucket 由标签值哈希成 32 位整数,然后除以指定的 bucket 数量后的余数来标识
hash(tagValue) % N
生成的分区键包含每个分区特有的唯一标签 bucket 标识符。
支持的标签 bucket 数量: 1-1,000
标签 bucket 应用于按高基数标签或具有未知数量的不同值的标签进行分区。
一个分区模板在一个操作标签(标签值和标签 bucket)的模板部分中,给定的标签键只能包含一次——例如
如果模板基于 tag_A
的唯一值进行分区,则不能将 tag_A
用作标签 bucket 部分。
时间部分模板
时间部分模板使用 Rust strftime 日期和时间格式语法 的有限子集来指定分区键中的时间格式。时间部分模板可以是每日(%Y-%m-%d
)、每月(%Y-%m
)或每年(%Y
)。InfluxDB 按时间部分模板中包含的最小时间单位分区数据。
InfluxDB 仅支持时间部分模板中的 日期说明符。
日期说明符
时间部分模板仅允许以下日期说明符
变量 | 示例 | 描述 |
---|---|---|
%Y | 2001 | 完整的普罗勒普提格里高利年,零填充为 4 位数字。chrono 支持 -262144 到 262143 年的年份。注意:公元前 1 年之前或公元 9999 年之后的年份,需要初始符号 (+/-)。 |
%m | 07 | 月份数字(01–12),零填充为 2 位数字。 |
%d | 08 | 天数(01–31),零填充为 2 位数字。 |
此页是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您对 InfluxDB Clustered 和本文档提供反馈和错误报告。要查找支持,请使用以下资源
拥有年度或支持合同的客户可以联系 InfluxData 支持。