如何在BigQuery中查询表大小、最后修改时间等扩展元数据
BigQuery表详细元数据查询方法
你需要的表大小、最后修改时间、行数、分区规则等信息都可以通过SQL查询获取,主要用到两类系统视图:
数据集级
__TABLES__视图,可快速获取全表基础统计属性
该视图属于对应数据集的内置系统视图,查询示例如下:SELECT project_id, dataset_id, table_id, size_bytes / 1024 / 1024 / 1024 AS size_gb, -- 表存储大小,转换为GB单位 row_count, -- 表总行数 TIMESTAMP_MILLIS(last_modified_time) AS last_modified_time, -- 最后修改时间 time_partitioning_type, -- 分区类型,无分区则返回NULL time_partitioning_field, -- 分区字段,无分区则返回NULL clustering_fields -- 聚类字段列表,未配置聚类则返回NULL FROM `你的项目ID.你的数据集ID.__TABLES__`如果需要批量查询多个数据集的表属性,可替换为区域级的
region-eu.INFORMATION_SCHEMA.TABLE_STORAGE视图,字段规则和上述示例基本一致。区域级
INFORMATION_SCHEMA.PARTITIONS视图,可获取更细粒度的分区规则及分区级统计
如果你需要查看每个分区的详细范围、分区级存储/行数、聚类配置等信息,可使用该视图,查询示例如下:SELECT table_catalog AS project_id, table_schema AS dataset_id, table_name, partition_column, -- 分区字段 range_start, -- 范围分区的起始值 range_end, -- 范围分区的结束值 clustering_fields, -- 聚类字段列表 total_rows, -- 分区内行数 total_logical_bytes / 1024 / 1024 / 1024 AS partition_size_gb -- 分区存储大小 FROM region-eu.INFORMATION_SCHEMA.PARTITIONS WHERE table_schema = '你要查询的数据集ID'
提示:你可以通过
项目ID.数据集ID.表名作为关联键,将上述查询结果和你之前使用的region-eu.INFORMATION_SCHEMA.TABLES的查询结果关联,一次性获取所有你需要的元数据字段。
内容的提问来源于stack exchange,提问作者MarcinSzaleniec
相关产品推荐
相关产品推荐

