You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP查询数据集基表大小报错Unrecognized name: size_bytes求助

GCP BigQuery 查询数据集基表存储容量解决方案

报错原因

你收到Unrecognized name: size_bytes报错的核心原因是:INFORMATION_SCHEMA.TABLES元数据视图仅存储表的基础结构属性(如表名、表类型、创建时间等),不包含存储容量相关的size_bytes字段,该字段归属BigQuery内置的__TABLES__系统表。
另外你原代码使用的是已停止功能更新的Legacy SQL语法,推荐切换为GCP官方主推的标准SQL语法,避免后续兼容性问题。

正确实现代码

单个数据集查询

-- 标准SQL写法,查询指定数据集内所有基表的存储容量
SELECT
  table_id AS table_name,
  -- 如需MB单位,将pow(10,9)替换为pow(10,6)
  ROUND(size_bytes / POW(10,9), 4) AS size_gb,
  TIMESTAMP_MILLIS(creation_time) AS create_time,
  TIMESTAMP_MILLIS(last_modified_time) AS update_time
FROM
  `[你的项目ID].[你的数据集ID].__TABLES__`
WHERE
  -- 仅过滤普通基表,1=基表、2=视图、3=外部表
  type = 1

全项目跨数据集查询

如果需要统计指定区域下整个项目所有数据集的基表容量,可使用区域级系统表:

SELECT
  table_id AS table_name,
  dataset_id,
  ROUND(size_bytes / POW(10,9), 4) AS size_gb
FROM
  `[你的项目ID].[区域编码].__TABLES__`
WHERE
  type = 1

注意事项

  • 代码中的项目ID、数据集ID、区域编码需要替换为你实际使用的资源信息
  • __TABLES__系统表返回的creation_time、last_modified_time默认是毫秒级时间戳,上述代码已经转换为可读的时间格式

BigQuery SQL适配查询方式

直接在Google Cloud官方文档站点搜索「BigQuery SQL 函数参考」即可获取官方全量文档,内容覆盖所有支持的SQL函数、语法规则、与ANSI标准SQL的差异说明,以及各类元数据视图的字段定义、使用示例,无需依赖第三方站点查询适配方案。

内容的提问来源于stack exchange,提问作者pinklabel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:15:07