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

如何从BigQuery INFORMATION_SCHEMA查询未分配slot数量

BigQuery未分配Slot查询方法

未分配Slot没有单独存储在某张INFORMATION_SCHEMA表中,可通过「生效总承诺容量 - 已分配预留容量」的方式计算,计算结果和GCP控制台显示的未分配数值完全对齐。

核心计算逻辑

未分配Slot数 = 当前生效的总承诺Slot数 - 所有已创建预留分配的Slot基线容量总和
计算时需要过滤无效资源,避免统计偏差:

  • 仅统计状态为ACTIVE、已到生效时间的容量承诺,排除已到期、未生效、已删除的承诺
  • 仅统计未删除的预留资源,排除已销毁的预留配置
  • Slot是区域级资源,所有计算需要在同一个区域维度下聚合,跨区域容量不互通

可直接复用的查询SQL

将SQL中的ADMIN项目ID、区域标识替换为实际环境的参数即可执行:

WITH
-- 聚合指定区域当前生效的总承诺Slot容量
total_committed_slots AS (
  SELECT
    SUM(slot_count) AS total_committed
  FROM
    `[ADMIN_PROJECT_ID].[REGION]`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
  WHERE
    state = 'ACTIVE'
    AND commitment_start_time <= CURRENT_TIMESTAMP()
),
-- 聚合指定区域所有已分配给预留的Slot容量
total_allocated_slots AS (
  SELECT
    SUM(slot_capacity) AS total_allocated
  FROM
    `[ADMIN_PROJECT_ID].[REGION]`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
  WHERE
    deletion_time IS NULL
)
SELECT
  total_committed,
  total_allocated,
  total_committed - total_allocated AS unallocated_slots
FROM
  total_committed_slots,
  total_allocated_slots

查询结果中的unallocated_slots字段就是目标值,和截图中显示的2026未分配Slot数值一致。

使用率计算适配

把上述CTE逻辑加入原有Slot使用率统计SQL,将未分配Slot纳入总可用容量计算,即可解决资源超配的计算错误问题,适配时注意两个细节:

  • 原有查询中INNER JOIN预留表的写法会漏掉运行在未分配Slot上的作业记录,建议改为LEFT JOIN,将无关联预留的作业统一归到未分配Slot的统计项下
  • 如果开启了预留自动扩缩容特性,弹性扩缩的Slot不属于基线承诺容量,不需要纳入这部分未分配统计

slot分配截图


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:39:19