SuperAPI AI 工具集

bigquery

数据与分析

查看项目

更新于 10-15 23:48

技能介绍

用途:bigquery 是面向 Google BigQuery 和 GCP 数据仓库的命令行工具与 MCP 服务,官方建议除 MCP 工具覆盖范围外的操作都用 CLI。认证复用 Google Cloud SDK(gcloud)ADC,可用 bigquery auth check 验证状态与作用域。

主要能力:查询支持自动 dry-run 与费用确认(默认阈值 1GB)、--yes 跳过确认、--jsonl/--stream/--file/--stdin 输出与输入、dry-run 仅估费用。数据集与表操作包括 list、describe、create、update、delete,以及表的 streaming insert(<1000 行)、从 Cloud Storage 的 load(>10MB)、copy、extract。作业可 list、get、cancel。输出默认 query 为 JSON(含 bytes、cost、cacheHit),列表为 text,均可用 --format json|text|jsonl。

MCP:bigquery mcp stdio 默认只读,--enable-writes 开启写工具;http 模式可指定 --port。只读工具有 query、dry_run、list_datasets、list_tables、describe_table;写工具有 create_dataset、create_table、insert_rows、load_data、execute_ddl。表以 bigquery://project.dataset.table 资源形式暴露,读取等价 describe_table。

限制与注意:--max-results 只限制返回行数,不减少扫描字节;真正降费用需在 SQL 中用 LIMIT。tables load 只接受 gs:// 路径,传本地路径会静默失败(退出码 0、无输出);本地文件用 tables insert,且必须为 JSONL。新建表元数据有约 50 秒传播延迟,需重试;streaming insert 后约 90 分钟内 DELETE/TRUNCATE 受流缓冲阻塞。JSONL 输出中 DATE 返回 {"value":"YYYY-MM-DD"},TIMESTAMP 返回 epoch 字符串,数值列为字符串;UNNEST 字面量大时 CLI 可能报 JSON 解析错误,需改为客户端匹配。

适用场景:需要按需执行查询、控制查询成本、批量导入/导出数据,或在智能体中用结构化工具调用访问 BigQuery 的场景。

使用方式:先执行 bigquery auth check;查询如 bigquery query --yes "SELECT ...";估费 bigquery dry-run "SELECT ...";表插入如 bigquery tables insert TABLE file.jsonl --format jsonl;MCP 配置 command 为 bigquery,args 为 ["mcp", "stdio"]。