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

关于BigQuery细粒度查询计费及访问统计信息的技术问询

BigQuery细粒度查询成本与表访问统计方案

1. 按表统计TotalBilledBytes/ReadBytes

可以通过BigQuery的INFORMATION_SCHEMA内置视图直接获取单查询中各访问表的字节消耗数据,核心使用INFORMATION_SCHEMA.JOB_STATISTICS_BY_TABLE视图,该视图会按作业+表维度统计字节处理与计费数据:

查询示例

SELECT
  job_id,
  table_catalog,
  table_schema,
  table_name,
  total_bytes_processed AS read_bytes,
  total_bytes_billed AS billed_bytes
FROM
  `your-project-id`.`region-us`.INFORMATION_SCHEMA.JOB_STATISTICS_BY_TABLE
WHERE
  start_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
ORDER BY
  billed_bytes DESC;

该查询会返回最近7天内所有作业中,每张被访问表的读取字节量和计费字节量,直接定位高成本表。

2. 获取读取分区数量

同样在INFORMATION_SCHEMA.JOB_STATISTICS_BY_TABLE视图中,total_partitions_processed字段会记录查询针对分区表读取的分区数量,只需在上述查询中加入该字段即可:

SELECT
  -- 保留其他需要的字段
  total_partitions_processed
FROM
  `your-project-id`.`region-us`.INFORMATION_SCHEMA.JOB_STATISTICS_BY_TABLE
-- 添加时间或作业过滤条件

3. 提取表级过滤条件

BigQuery不会直接存储单表对应的过滤条件,但可以通过解析作业的查询计划获取相关信息:

  • 用INFORMATION_SCHEMA.JOB_QUERY_STATISTICS视图中的query_plan字段(JSON格式),该字段包含查询执行的每一步详情,其中filter类型的节点会记录应用在表上的过滤逻辑,可结合BigQuery的JSON函数(如JSON_EXTRACT)批量提取规则。
  • 也可以通过命令行工具查看单作业的详细计划,执行命令:
bq show --format=prettyjson your-project-id:us.job_abc123xyz

在返回的JSON中,定位到queryPlan数组里的scan节点,其filter字段会显示针对该表的过滤条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:17:12