如何在BigQuery中查询处理项目历史查询记录及对应计费数据
BigQuery历史查询记录查询解答
可以,你可以直接通过BigQuery内置的INFORMATION_SCHEMA.JOBS_BY_PROJECT视图实现这个需求,该视图自带total_bytes_billed字段,就是你需要的Bytes Billed统计项,完全支持后续的成本、查询性能类分析。
注意事项
- 查询该视图需要你持有当前项目的
bigquery.jobs.listAll权限,否则仅能返回你自己账号提交的查询记录,无法查看全项目所有用户的历史作业 - 该视图默认仅保留最近180天的作业历史,超出时间范围的记录无法通过该方式获取
- 视图是区域级资源,查询时需要将语句中的区域替换为你实际使用的BigQuery区域,例如中国香港区域替换为
region-asia-east2
参考查询语句
SELECT job_id, user_email, creation_time, query, total_bytes_billed, -- 单位为字节,可自行换算为MB/GB/TB total_bytes_billed / POW(1024, 3) AS gb_billed, -- 换算为GB的示例 total_bytes_processed, execution_time_ms FROM `region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT` WHERE -- 过滤最近30天的记录,可自行调整时间范围 creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY) AND job_type = 'QUERY' -- 仅筛选查询类作业 AND statement_type = 'SELECT' -- 仅筛选SELECT语句 ORDER BY creation_time DESC LIMIT 1000
内容的提问来源于stack exchange,提问作者user433342
相关产品推荐
相关产品推荐

