全部产品
Search
文档中心

数据湖构建:table_summary 与 partition_summary 系统表

更新时间:Jun 23, 2026

DLF 每日将 Catalog 下各表和分区的存储用量、存储类型、文件分布、访问频次等统计信息汇总到 system 库的 table_summarypartition_summary 两张系统表,可用于排查小文件、识别冷数据、优化存储类型、追溯访问者等场景。

功能简介

  • table_summary:表级汇总,包含表基本属性、存储用量、存储类型、文件大小分布、访问频次等。

  • partition_summary:分区级汇总,统计各分区的存储用量、存储类型、文件大小分布和访问频次。

说明

数据 T+1 产出,统计 Catalog 下物理存储的全量数据。两张表的分区字段 dt 保留最近 30 天。

table_summary

表结构

说明

以下为系统表内置定义,仅展示字段结构,无需手动执行。

CREATE TABLE `table_summary` (
  `database_id`              STRING  COMMENT 'Database ID',
  `database_name`            STRING  COMMENT 'Database name',
  `table_id`                 STRING  COMMENT 'Table ID',
  `table_name`               STRING  COMMENT 'Table name',
  `table_type`               STRING  COMMENT 'Table type',
  `owner`                    STRING  COMMENT 'Table owner',
  `created_by`               STRING  COMMENT 'Created by',
  `created_at`               BIGINT  COMMENT 'Creation time (epoch milliseconds)',
  `updated_by`               STRING  COMMENT 'Updated by',
  `updated_at`               BIGINT  COMMENT 'Last update time (epoch milliseconds)',
  `obj_cnt`                  BIGINT  COMMENT 'Data object count, total count = obj_cnt + meta_obj_cnt',
  `obj_size`                 BIGINT  COMMENT 'Data object size (bytes), total size = obj_size + meta_obj_size',
  `meta_obj_cnt`             BIGINT  COMMENT 'Metadata object count',
  `meta_obj_size`            BIGINT  COMMENT 'Metadata object size (bytes)',
  `ts_file_count`            BIGINT  COMMENT 'Data object count in latest snapshot',
  `ts_file_size_in_bytes`    BIGINT  COMMENT 'Data object size in latest snapshot (bytes)',
  `obj_type_standard_size`   BIGINT  COMMENT 'Data object size in Standard storage (bytes)',
  `obj_type_ia_size`         BIGINT  COMMENT 'Data object size in IA storage (bytes)',
  `obj_type_archive_size`    BIGINT  COMMENT 'Data object size in Archive storage (bytes)',
  `obj_type_coldarchive_size` BIGINT  COMMENT 'Data object size in Cold Archive storage (bytes)',
  `obj_size_tiny_cnt`        BIGINT  COMMENT 'Data object count (size <= 1 MB)',
  `obj_size_small_cnt`       BIGINT  COMMENT 'Data object count (size 1 MB - 128 MB)',
  `obj_size_middle_cnt`      BIGINT  COMMENT 'Data object count (size 128 MB - 1 GB)',
  `obj_size_large_cnt`       BIGINT  COMMENT 'Data object count (size > 1 GB)',
  `data_last_access_time`    BIGINT  COMMENT 'Last data object access time (epoch milliseconds)',
  `obj_access_num`           BIGINT  COMMENT 'Daily data object access count',
  `obj_access_num_7d`        BIGINT  COMMENT 'Data object access count in last 7 days',
  `obj_access_num_30d`       BIGINT  COMMENT 'Data object access count in last 30 days',
  `meta_last_access_time`    BIGINT  COMMENT 'Last metadata object access time (epoch milliseconds)',
  `meta_obj_access_num`      BIGINT  COMMENT 'Daily metadata object access count',
  `meta_obj_access_num_7d`   BIGINT  COMMENT 'Metadata object access count in last 7 days',
  `meta_obj_access_num_30d`  BIGINT  COMMENT 'Metadata object access count in last 30 days',
  `last_requester`           STRING  COMMENT 'Last requester',
  `top_requester`            STRING  COMMENT 'Most frequent requester of the day',
  `dt`                       STRING  COMMENT 'Date (yyyyMMdd)'
) COMMENT 'Daily table-level summary'
PARTITIONED BY (dt) WITH (
   'file.format' = 'avro',
   'partition.expiration-time' = '30 d',
   'partition.timestamp-formatter' = 'yyyyMMdd'
);

字段说明

基本信息

字段

说明

database_id

数据库 ID

database_name

数据库名称

table_id

表 ID

table_name

表名称

table_type

表类型:paimon-pk(Paimon主键表)、paimon-append(Paimon Append 表)、object-table(Object Table)、format-table(Format Table)等

owner

表所有者

created_by

创建者

created_at

创建时间(毫秒时间戳)

updated_by

最后更新者

updated_at

最后更新时间(毫秒时间戳)

存储统计

字段

说明

obj_cnt

数据文件数量。总文件数 = obj_cnt + meta_obj_cnt

obj_size

数据文件总大小(字节)。总存储量 = obj_size + meta_obj_size

meta_obj_cnt

元数据文件数量

meta_obj_size

元数据文件总大小(字节)

ts_file_count

最新快照中的数据文件数量

ts_file_size_in_bytes

最新快照中的数据文件大小(字节)

存储类型

字段

说明

obj_type_standard_size

标准存储类型的数据文件大小(字节)

obj_type_ia_size

低频访问存储类型的数据文件大小(字节)

obj_type_archive_size

归档存储类型的数据文件大小(字节)

obj_type_coldarchive_size

冷归档存储类型的数据文件大小(字节)

文件大小分布

字段

说明

obj_size_tiny_cnt

小于等于 1 MB 的数据文件数量

obj_size_small_cnt

1 MB ~ 128 MB 的数据文件数量

obj_size_middle_cnt

128 MB ~ 1 GB 的数据文件数量

obj_size_large_cnt

大于 1 GB 的数据文件数量

访问统计

说明

last_requestertop_requester 字段需在 DLF 控制台目录配置页签 > 高级配置部分开启 dlf.access-tracking.enabled = true,且计算引擎使用 Paimon >= 1.4 才能统计到访问者信息。

字段

说明

data_last_access_time

数据文件最后访问时间(毫秒时间戳)

obj_access_num

数据文件当日访问次数

obj_access_num_7d

数据文件近 7 天访问次数

obj_access_num_30d

数据文件近 30 天访问次数

meta_last_access_time

元数据文件最后访问时间(毫秒时间戳)

meta_obj_access_num

元数据文件当日访问次数

meta_obj_access_num_7d

元数据文件近 7 天访问次数

meta_obj_access_num_30d

元数据文件近 30 天访问次数

last_requester

最后访问者(前置条件见上方说明)

top_requester

当日访问次数最多的访问者(前置条件见上方说明)

分区字段

字段

说明

dt

统计日期,格式 yyyyMMdd,保留最近 30 天

partition_summary

表结构

说明

以下为系统表内置定义,仅展示字段结构,无需手动执行。

CREATE TABLE `partition_summary` (
  `database_id`              STRING  COMMENT 'Database ID',
  `database_name`            STRING  COMMENT 'Database name',
  `table_id`                 STRING  COMMENT 'Table ID',
  `table_name`               STRING  COMMENT 'Table name',
  `partition_name`           STRING  COMMENT 'Partition name',
  `created_by`               STRING  COMMENT 'Created by',
  `created_at`               BIGINT  COMMENT 'Creation time (epoch milliseconds)',
  `updated_by`               STRING  COMMENT 'Updated by',
  `updated_at`               BIGINT  COMMENT 'Last update time (epoch milliseconds)',
  `obj_cnt`                  BIGINT  COMMENT 'Data object count',
  `obj_size`                 BIGINT  COMMENT 'Data object size (bytes)',
  `obj_type_standard_size`   BIGINT  COMMENT 'Data object size in Standard storage (bytes)',
  `obj_type_ia_size`         BIGINT  COMMENT 'Data object size in IA storage (bytes)',
  `obj_type_archive_size`    BIGINT  COMMENT 'Data object size in Archive storage (bytes)',
  `obj_type_coldarchive_size` BIGINT  COMMENT 'Data object size in Cold Archive storage (bytes)',
  `obj_size_tiny_cnt`        BIGINT  COMMENT 'Data object count (size <= 1 MB)',
  `obj_size_small_cnt`       BIGINT  COMMENT 'Data object count (size 1 MB - 128 MB)',
  `obj_size_middle_cnt`      BIGINT  COMMENT 'Data object count (size 128 MB - 1 GB)',
  `obj_size_large_cnt`       BIGINT  COMMENT 'Data object count (size > 1 GB)',
  `data_last_access_time`    BIGINT  COMMENT 'Last data object access time (epoch milliseconds)',
  `obj_access_num`           BIGINT  COMMENT 'Daily data object access count',
  `obj_access_num_7d`        BIGINT  COMMENT 'Data object access count in last 7 days',
  `obj_access_num_30d`       BIGINT  COMMENT 'Data object access count in last 30 days',
  `last_requester`           STRING  COMMENT 'Last requester',
  `top_requester`            STRING  COMMENT 'Most frequent requester of the day',
  `dt`                       STRING  COMMENT 'Date (yyyyMMdd)'
) COMMENT 'Daily partition-level summary'
PARTITIONED BY (dt) WITH (
   'file.format' = 'avro',
   'partition.expiration-time' = '30 d',
   'partition.timestamp-formatter' = 'yyyyMMdd'
);

字段说明

基本信息

字段

说明

database_id

数据库 ID

database_name

数据库名称

table_id

表 ID

table_name

表名称

partition_name

分区名称

created_by

创建者

created_at

创建时间(毫秒时间戳)

updated_by

最后更新者

updated_at

最后更新时间(毫秒时间戳)

存储统计

字段

说明

obj_cnt

数据文件数量

obj_size

数据文件总大小(字节)

存储类型

字段

说明

obj_type_standard_size

标准存储类型的数据文件大小(字节)

obj_type_ia_size

低频访问存储类型的数据文件大小(字节)

obj_type_archive_size

归档存储类型的数据文件大小(字节)

obj_type_coldarchive_size

冷归档存储类型的数据文件大小(字节)

文件大小分布

字段

说明

obj_size_tiny_cnt

小于等于 1 MB 的数据文件数量

obj_size_small_cnt

1 MB ~ 128 MB 的数据文件数量

obj_size_middle_cnt

128 MB ~ 1 GB 的数据文件数量

obj_size_large_cnt

大于 1 GB 的数据文件数量

访问统计

说明

last_requestertop_requester 字段需在 DLF 控制台目录配置页签 > 高级配置部分开启 dlf.access-tracking.enabled = true,且计算引擎使用 Paimon >= 1.4 才能统计到访问者信息。

字段

说明

data_last_access_time

数据文件最后访问时间(毫秒时间戳)

obj_access_num

数据文件当日访问次数

obj_access_num_7d

数据文件近 7 天访问次数

obj_access_num_30d

数据文件近 30 天访问次数

last_requester

最后访问者(前置条件见上方说明)

top_requester

当日访问次数最多的访问者(前置条件见上方说明)

分区字段

字段

说明

dt

统计日期,格式 yyyyMMdd,保留最近 30 天

查询示例

支持使用DLF数据预览和外部计算引擎(如Flink)进行SQL查询:

DLF数据预览

使用 DLF 内置的数据预览功能直接执行 SQL 查询,无需额外配置计算引擎。操作详情和计费请参见数据探查

Flink SQL

使用外部计算引擎(如 Flink)执行 SQL 查询,需先配置 DLF Paimon Catalog,详见Flink SQL访问DLF

说明

以下示例中如果出现 <yourCatalogName><tableID><date><startDate><endDate> 等尖括号包裹的字符串,均为占位符,请替换为实际值(日期格式为 yyyyMMdd)后再执行。

存储概览

查看 Catalog 近 N 天的总存储趋势

SELECT
    dt,
    COUNT(DISTINCT table_id) AS table_cnt,
    SUM(obj_size) + SUM(meta_obj_size) AS total_size,
    SUM(obj_size) AS total_data_obj_size,
    SUM(meta_obj_size) AS total_meta_obj_size,
    SUM(ts_file_size_in_bytes) AS total_latest_snapshot_data_obj_size
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE dt BETWEEN '<startDate>' AND '<endDate>'  -- 替换为实际日期,格式 yyyyMMdd
GROUP BY dt
ORDER BY dt;

查询某日所有表的存储概览

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    table_type,
    owner,
    obj_size + meta_obj_size AS total_size,
    obj_size AS data_obj_size,
    ts_file_size_in_bytes AS latest_snapshot_data_obj_size,
    ts_file_size_in_bytes * 1.0 / NULLIF(obj_size, 0) AS latest_snapshot_ratio
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
ORDER BY total_size DESC;

查看某表各分区的存储详情

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    partition_name,
    obj_cnt AS data_obj_cnt,
    obj_size AS data_obj_size
FROM `<yourCatalogName>`.`system`.`partition_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
    AND table_id = '<tableID>'
ORDER BY data_obj_size DESC;

查看某表近 N 天的存储趋势

SELECT
    dt,
    obj_cnt AS data_obj_cnt,
    obj_size + meta_obj_size AS total_size,
    obj_size AS data_obj_size,
    ts_file_size_in_bytes AS latest_snapshot_data_obj_size,
    ts_file_size_in_bytes * 1.0 / NULLIF(obj_size, 0) AS latest_snapshot_ratio
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE table_id = '<tableID>'
    AND dt BETWEEN '<startDate>' AND '<endDate>'  -- 替换为实际日期,格式 yyyyMMdd
ORDER BY dt;

小文件治理

查找物理存储中小文件较多的表

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    table_type,
    obj_cnt AS data_obj_cnt,
    obj_size AS data_obj_size,
    obj_size_tiny_cnt,
    obj_size_small_cnt,
    obj_size_tiny_cnt * 1.0 / NULLIF(obj_cnt, 0) AS tiny_obj_ratio,
    (obj_size_tiny_cnt + obj_size_small_cnt) * 1.0 / NULLIF(obj_cnt, 0) AS small_obj_ratio,
    obj_size / NULLIF(obj_cnt, 0) AS avg_data_obj_size
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
    AND obj_cnt > 0
ORDER BY obj_size_tiny_cnt DESC;

查找物理存储中小文件较多的分区

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    partition_name,
    obj_cnt AS data_obj_cnt,
    obj_size AS data_obj_size,
    obj_size_tiny_cnt,
    obj_size_small_cnt,
    obj_size_tiny_cnt * 1.0 / NULLIF(obj_cnt, 0) AS tiny_obj_ratio,
    (obj_size_tiny_cnt + obj_size_small_cnt) * 1.0 / NULLIF(obj_cnt, 0) AS small_obj_ratio,
    obj_size / NULLIF(obj_cnt, 0) AS avg_data_obj_size
FROM `<yourCatalogName>`.`system`.`partition_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
    AND obj_cnt > 0
ORDER BY obj_size_tiny_cnt DESC;

查看某表近 N 天的小文件趋势

SELECT
    dt,
    obj_cnt AS data_obj_cnt,
    obj_size_tiny_cnt,
    obj_size_small_cnt,
    obj_size_middle_cnt,
    obj_size_large_cnt,
    obj_size_tiny_cnt * 1.0 / NULLIF(obj_cnt, 0) AS tiny_obj_ratio,
    (obj_size_tiny_cnt + obj_size_small_cnt) * 1.0 / NULLIF(obj_cnt, 0) AS small_obj_ratio
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE table_id = '<tableID>'
    AND dt BETWEEN '<startDate>' AND '<endDate>'  -- 替换为实际日期,格式 yyyyMMdd
ORDER BY dt;
说明

识别小文件后,可参考存储优化进行小文件合并和存储治理。

生命周期管理

查看数据存储类型分布

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    obj_size AS data_obj_size,
    obj_type_standard_size,
    obj_type_ia_size,
    obj_type_archive_size,
    obj_type_coldarchive_size
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
    AND (obj_type_ia_size > 0 OR obj_type_archive_size > 0 OR obj_type_coldarchive_size > 0)
ORDER BY data_obj_size DESC;

查找近 30 天无文件访问的表

SELECT
    database_id,
    database_name,
    table_id,
    table_name,
    owner,
    obj_size + meta_obj_size AS total_size,
    data_last_access_time,
    meta_last_access_time
FROM `<yourCatalogName>`.`system`.`table_summary`
WHERE dt = '<date>'  -- 替换为实际日期,格式 yyyyMMdd
    AND obj_access_num_30d = 0
    AND meta_obj_access_num_30d = 0
ORDER BY total_size DESC;

相关文档

通过DLF API查询存储统计系统表,请参考获取数据目录存储概览获取库存储概览