Apache Parquet 块格式
Tempo 默认使用基于 Apache Parquet 的列式块格式。此格式是基于标签的搜索以及 TraceQL(追踪查询语言)所必需的。列式块格式可提升搜索性能,并支持包括 Tempo CLI 在内的工具生态系统访问底层的追踪数据。
欲了解更多信息,请参阅 Parquet 设计文档 和 问题 1480。此外,现在还有一个 Parquet v3 设计文档。
注意事项
自 Tempo 2.0 起,默认启用 Parquet 块格式。
如果您使用 Tempo Helm charts 安装,Parquet 默认启用。无需数据转换或升级过程。一旦启用块格式,Tempo 将开始以该格式写入数据,而现有数据保持不变。
基于 Parquet 的块格式比之前的 v2
格式需要更多的 CPU 和内存资源,但提供了搜索和 TraceQL 功能。
选择不同的块格式
默认的块格式是 vParquet4
,它是 Tempo 中基于 Parquet 的列式块格式的最新迭代。vParquet4 引入了新列,支持查询数组属性中的数据以及事件和链接。有关更多信息,请参阅 专用属性列。
您仍然可以使用之前的 vParquet3
格式。要启用它,请在配置文件的 Storage 部分将 block version 选项设置为 vParquet3
。
# block format version. options: v2, vParquet2, vParquet3, vParquet4
[version: vParquet4]
在某些情况下,您可能选择禁用 Parquet 并使用旧的 v2
块格式。使用 v2
块格式会禁用所有搜索功能,但也能减少资源消耗,这对于不需要这些功能的高吞吐量集群可能是有用的。要进行此更改,请在配置文件的 Storage 部分将 block version 选项设置为 v2
。
# block format version. options: v2, vParquet2, vParquet3, vParquet4
[version: v2]
要重新启用默认的 vParquet4
格式,请从配置文件的 Storage 部分移除 block version 选项,或将该选项设置为 vParquet4
。
Parquet 配置参数
Tempo 配置中的某些参数是 Parquet 特有的。有关更多信息,请参阅存储配置文档。
追踪搜索参数
这些配置选项会影响追踪搜索。
参数 | 默认值 | 描述 |
---|---|---|
[read_buffer_size_bytes: <int>] | 10485676 | 在对 vParquet 块执行搜索时使用的读取缓冲区大小。此值乘以 read_buffer_count 是在对 Parquet 块执行搜索时用于缓冲的总字节数。 |
[read_buffer_count: <int>] | 32 | 在对 vParquet 块执行搜索时使用的读取缓冲区数量。此值乘以 read_buffer_size_bytes 是在对 Parquet 块执行搜索时用于缓冲的总字节数。 |
cache_control
部分包含用于 Parquet 元数据对象的以下参数
参数 | 默认值 | 描述 |
---|---|---|
[footer | false | 指定是否应缓存页脚 |
[column_index: <bool> | default = false] | false | 指定是否应缓存列索引 |
[offset_index: <bool> | default = false] | false | 指定是否应缓存偏移索引 |