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

如何获取BigQuery指定项目下各数据库的字节大小?

BigQuery项目下各数据集(数据库)大小统计落地方法

BigQuery中通常所说的“数据库”对应产品内的**数据集(Dataset)**层级,不需要依赖第三方工具,两种可直接落地的方案:

  • 方案1:控制台单SQL查询(最便捷,零成本)
    打开BigQuery查询编辑器,替换SQL里的项目ID、区域参数后直接运行即可,结果会直接返回每个数据集的总字节数、换算后的GB/TB数值:
SELECT
  table_schema AS dataset_name,
  SUM(size_bytes) AS total_storage_bytes,
  ROUND(SUM(size_bytes) / POW(1024, 3), 2) AS total_storage_gb,
  ROUND(SUM(size_bytes) / POW(1024, 4), 2) AS total_storage_tb
FROM
  `替换成你的项目ID.区域占位符.INFORMATION_SCHEMA.TABLE_STORAGE`
WHERE
  -- 过滤下划线开头的系统自动生成临时数据集、匿名数据集
  table_schema NOT LIKE '\_%'
GROUP BY
  dataset_name
ORDER BY
  total_storage_bytes DESC;

注意事项:

  1. 区域占位符要和你数据集所在区域匹配,比如美区填region-us,香港区填region-asia-east2,如果项目跨多区域,每个区域单独跑一次查询后合并结果即可
  2. 运行账号需要拥有项目下所有数据集的表查看权限,项目内置的编辑者、查看者角色默认满足权限要求
  3. 该查询属于元数据查询,不会产生数据扫描费用
  • 方案2:bq命令行脚本统计(适合自动化定时场景)
    如果需要把统计逻辑落到本地脚本、定时任务里跑,直接用gcloud套件自带的bq命令即可:
    1. 先拉取项目下所有用户自建数据集列表:
    bq ls --project_id 替换成你的项目ID | grep -v '^_' | awk '{print $1}' | tail -n +3
    
    1. 遍历拿到的数据集列表,逐个统计数据集下所有表的存储字节数求和即可,单数据集统计命令示例:
    bq query --use_legacy_sql=false --format=pretty "SELECT ROUND(SUM(size_bytes)/POW(1024,3),2) as size_gb FROM \`替换成你的项目ID.目标数据集名.__TABLES__\`"
    
    把两步逻辑拼成循环脚本,就能批量输出所有数据集的大小,结果可以直接导出为本地文件留存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:54:29