关于 carto-query-datawarehouse
carto-query-datawarehouse 是查询 CARTO 已注册连接的 SQL 技能,适用于探索数据、构建转换及空间分析。它提供 MCP 与 CLI 两种执行路径,并按查询类型区分同步和异步执行。
主要功能
- 01通过连接执行空间或常规 SQL
- 02同步执行并返回查询行
- 03异步提交、查看状态和取消任务
- 04提供 CARTO CLI 查询与作业命令
- 05涵盖多种数据库方言的空间 SQL
适用场景
- 01探索数据并统计记录
- 02创建中间表以支持地图制作
- 03运行空间连接、缓冲区或 H3 聚合
MCP 相关
CARTO MCP 服务提供 execute_query 和 execute_async_query,分别用于返回行的查询及异步任务。未连接 MCP 服务或需要脚本化、CI 执行时,可使用 CARTO CLI。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cartodb/ agent-skills --skill carto-query-datawarehouse安装后在 Claude Code 中输入/carto-query-datawarehouse确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/activity-queries.mdspatial-sql-bigquery.mdspatial-sql-postgres.mdspatial-sql-snowflake.mdsql-jobs-and-caching.md详细介绍
carto-query-datawarehouse
针对 CARTO 已注册的任何连接运行 SQL——无论是否涉及空间数据。提供两种执行方式,MCP 和 CLI 一一对应:
返回行的 SELECT(1 分钟超时) | DDL/DML 和长查询(无超时,不返回行) | |
|---|---|---|
| MCP(主要方式) | execute_query | execute_async_query(submit/status/cancel) |
| CLI(备用方式) | carto sql query | carto sql job |
访问路径路由。 如果已连接 CARTO MCP 服务,请通过
execute_query和execute_async_query运行 SQL——即使在通过令牌进行身份验证的会话中,这两个工具也都可用。此处的方言说明和性能规则对两种路径同样适用。如果未连接该服务,或 SQL 是脚本化的/用于 CI,请使用carto sqlCLI。carto activity query(基于已下载活动数据的本地 DuckDB)仅限 CLI——没有对应的 MCP 方式。检测信号:carto-basics/references/access-paths.md。
何时使用此技能
- 用户想要统计行数、运行探索性
SELECT,或构建转换。 - 用户正在排查运行缓慢或失败的 SQL。
- Agent 需要在编写地图前物化一张中间表。
- 用户想要临时执行空间连接、缓冲区分析或 H3 聚合。
快速参考(CLI)
# Read query (returns rows; 1-min timeout)
carto sql query <connection> "SELECT * FROM dataset.table LIMIT 10"
# Long-running job (DDL/DML; polls to completion; no rows back)
carto sql job <connection> "CREATE TABLE my_ds.out AS SELECT ..."
# From file / piped
carto sql query <connection> --file query.sql
echo "SELECT 1" | carto sql query <connection>
| 用途 | 路径 |
|---|---|
探索性 SELECT(规模小、速度快) | 同步 — execute_query / sql query |
缓存 SELECT(确定性,TTL 为 1 年) | sql query ... --cache |
CREATE TABLE AS SELECT、大型 UPDATE、耗时 5 分钟以上的聚合 | 异步 — execute_async_query / sql job |
--cache(CLI)会改用带有 1 年缓存响应的 GET;仅用于确定性的小型查询。
此技能包含的内容
| 主题 | 参考资料 |
|---|---|
| 同步与异步执行、缓存、超时 | references/sql-jobs-and-caching.md |
| 空间 SQL 惯用写法 — BigQuery 方言 | references/spatial-sql-bigquery.md |
| 空间 SQL 惯用写法 — Snowflake 方言 | references/spatial-sql-snowflake.md |
| 空间 SQL 惯用写法 — Postgres / PostGIS(以及 Redshift)方言 | references/spatial-sql-postgres.md |
| 查询 CARTO 活动数据(本地 DuckDB,仅限 CLI) | references/activity-queries.md |
始终适用的指南
- 始终指定连接。 连接名称来自
explore_data(list_connections)/carto connections list,而不是数据仓库的项目 ID。 - 对于任何可能耗时超过 60 s 的查询,优先使用异步路径。 无论用户愿意等待多久,同步读取都有严格的 1 分钟服务端超时限制。
- 不要不加判断地对数据仓库表执行
SELECT *。 空间表可能包含超过 1 亿行;探索时应指定列并添加LIMIT。 - 方言不匹配是最常见的困惑来源。 Snowflake 中的写法是
ST_DWITHIN,BigQuery/PostGIS/Redshift 中则是ST_DWithin。各方言参考资料提供了标准写法。 - 分析活动数据时(谁编辑了什么、配额使用情况、登录模式),请使用
carto activity query——仅限 CLI,它会通过 DuckDB 查询已下载的数据。请参阅 references/activity-queries.md。
评论
支持 Markdown