name: database-bigquery 描述: Google BigQuery 数据仓库查询和模式检查。当在 BigQuery 中运行 SQL 查询、列出数据集/表格或检查表格模式时使用。 允许工具: Bash(python *)
BigQuery 数据仓库
身份验证
重要: 凭据由代理层自动注入。不要在环境变量中检查 BIGQUERY_SERVICE_ACCOUNT_KEY - 您将看不到它。直接运行脚本;身份验证透明处理。
您可以检查的配置环境变量(非秘密):
BIGQUERY_PROJECT_ID- GCP 项目 IDBIGQUERY_DATASET- 默认数据集
强制:模式优先调查
在编写查询之前列出数据集和表格。
列出数据集 → 列出表格 → 获取表格模式 → 查询
可用脚本
所有脚本都在 .claude/skills/database-bigquery/scripts/ 中
list_datasets.py - 列出数据集(从这里开始)
python .claude/skills/database-bigquery/scripts/list_datasets.py
list_tables.py - 列出数据集中的表格
python .claude/skills/database-bigquery/scripts/list_tables.py --dataset DATASET_ID
get_table_schema.py - 表格模式详情
python .claude/skills/database-bigquery/scripts/get_table_schema.py --dataset DATASET_ID --table TABLE_ID
query.py - 运行 SQL 查询
python .claude/skills/database-bigquery/scripts/query.py --query "SELECT * FROM dataset.table LIMIT 10" [--dataset DEFAULT_DATASET] [--max-results 1000]
BigQuery SQL 参考
-- 标准 SQL(默认)
SELECT * FROM `project.dataset.table` LIMIT 10
-- 带时间的聚合
SELECT DATE(timestamp), COUNT(*) as events
FROM `dataset.events`
WHERE timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)
GROUP BY 1 ORDER BY 1 DESC
-- 分区表查询(成本高效)
SELECT * FROM `dataset.events`
WHERE _PARTITIONTIME >= TIMESTAMP('2026-01-01')
调查工作流
数据分析
1. list_datasets.py(查找可用数据集)
2. list_tables.py --dataset <dataset>(查找表格)
3. get_table_schema.py --dataset <dataset> --table <table>
4. query.py --query "SELECT ..."