You need to enable JavaScript to run this app.
导航
projection_parts
最近更新时间:2025.07.02 15:12:58首次发布时间:2025.07.02 15:12:58
我的收藏
有用
有用
无用
无用

您可通过 projection_parts 获取集群中所有 MergeTree 表的投影(Projection)当前存在的数据 part 信息。源表对应数据 part 的信息存储在以 parent_ 为前缀的列中。

列名

字段名称

数据类型

字段含义说明

partition

String

分区名称。格式如下:

  • YYYYMM 用于按月份进行自动分区。
  • any_string 用于手动分区。

name

String

投影数据 part 的名称。投影命名结构可用于确定许多数据、摄取和合并模式方面。投影命名格式如下:

<partition_id>_<minimum_block_number>_<maximum_block_number>_<level>_<data_version>
  • partition_id - 标识分区键
  • minimum_block_number - 标识投影 part 中的最小块编号。ByteHouse 始终合并连续块。
  • maximum_block_number - 标识投影 part 中的最大块编号。
  • level - 每次额外合并时增加一。0 表示这是一个尚未合并的新投影。ByteHouse 中的所有投影 part 始终是不可变的。
  • data_version - 可选值,在投影发生变更时递增。同样,变更的数据始终只写入新投影 part ,因为投影 part 是不可变的。

part_type

String

投影 part 存储格式。
可选值:

  • Wide — 每列保存在文件系统中的单独文件中。
  • Compact — 所有列保存在文件系统中的一个文件中。

数据存储格式由 MergeTree 表的 min_bytes_for_wide_partmin_rows_for_wide_part 设置控制。

parent_name

String

投影依赖的原始数据 part 名称。

parent_uuid

UUID

投影依赖的原始数据 part uuid。

parent_part_type

String

投影依赖的原始数据 part 的存储格式。

active

UInt8

指示投影 part 是否处于活动状态的标志。如果投影 part 处于活动状态,则在表中使用。否则,已删除。在合并后,非活动的投影 part 仍然存在。

marks

UInt64

标记数量。要获取投影 part 中行的近似数量,请将 marks 乘以索引粒度(通常为 8192)(此提示在自适应粒度下不起作用)。

rows

UInt64

行数。

bytes_on_disk

UInt64

投影 part 文件的总大小(单位:字节)。

data_compressed_bytes

UInt64

投影 part 中压缩数据的总大小。所有辅助文件(例如,带有标记的文件)不包含在内。

data_uncompressed_bytes

UInt64

投影 part 中未压缩数据的总大小。所有辅助文件(例如,带有标记的文件)不包含在内。

marks_bytes

UInt64

包含标记的文件的大小。

parent_marks

UInt64

投影依赖的原始数据 part 的标记数量。要获取投影 part 中行的近似数量,请将 marks 乘以索引粒度(通常为 8192)(此提示在自适应粒度下不起作用)。

parent_rows

UInt64

投影依赖的原始数据 part 的行数。

parent_bytes_on_disk

UInt64

投影依赖的原始数据 part 文件的总大小(单位:字节)。

parent_data_compressed_bytes

UInt64

投影依赖的原始数据 part 中压缩数据的总大小。所有辅助文件(例如,带有标记的文件)不包含在内。

parent_data_uncompressed_bytes

UInt64

投影依赖的原始数据 part 中未压缩数据的总大小。所有辅助文件(例如,带有标记的文件)不包含在内。

parent_marks_bytes

UInt64

投影依赖的原始数据 part 中包含标记的文件的大小。

modification_time

DateTime

投影 part 目录的修改时间。这通常对应于投影 part 创建的时间。

remove_time

DateTime

投影 part 变为非活动状态的时间。

refcount

UInt32

投影 part 使用的地方数量。大于 2 的值表示投影 part 在查询或合并中被使用。

min_date

Date

投影 part 中日期键的最小值。

max_date

Date

投影 part 中日期键的最大值。

min_time

DateTime

投影 part 中日期和时间键的最小值。

max_time

DateTime

投影 part 中日期和时间键的最大值。

partition_id

String

分区的 ID。

min_block_number

Int64

合并后组成当前投影 part 的最小数据块编号。

max_block_number

Int64

合并后组成当前投影 part 的最大数据块编号。

level

UInt32

合并树的深度。零表示当前投影 part 是通过插入而非合并其他投影 part 创建的。

data_version

UInt64

用于确定应应用于投影 part 的哪些变更的版本(版本高于 data_version 的变更)。

primary_key_bytes_in_memory

UInt64

主键值使用的内存量(以字节为单位)。

primary_key_bytes_in_memory_allocated

UInt64

为主键值保留的内存量(以字节为单位)。

is_frozen

UInt8

显示投影 part 数据备份是否存在的标志。支持以下数值:

  • 1:备份存在。
  • 0:备份不存在。

database

String

数据库名称。

table

String

表名称。

engine

String

不带参数的表引擎名称。

disk_name

String

存储投影 part 的磁盘名称。

path

String

投影文件夹的绝对路径。

hash_of_all_files

String

sipHash128 的压缩文件。

示例

select partition, count() from system.projection_parts where table = 'xx' group by partition