К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

chdb-sql — скилл для Claude Code: что делает и как установить

Скилл учит агента писать аналитический SQL по parquet, CSV, S3 и удалённым базам через chDB — это ClickHouse, встроенный в процесс Python, сервер поднимать не нужно.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ClickHouse/agent-skills --skill chdb-sql -a claude-code
Открыть на GitHub

Что делает chdb-sql

Скилл даёт агенту рабочий синтаксис chDB. Запрос идёт прямо к локальным файлам parquet, CSV и JSON, к URL, к путям S3 и к удалённым базам Postgres, MySQL, MongoDB, ClickHouse Cloud, Iceberg и Delta Lake. Источники можно смешивать в одном SELECT: табличные функции s3(), mysql(), postgresql(), iceberg(), deltaLake(), remoteSecure() соединяются между собой обычным join, поэтому заказы из файла рядом с таблицей из CRM — это один запрос, а не два скрипта и склейка в pandas.

Внутри лежит дерево выбора API. chdb.query() для разового запроса, Session для многошагового анализа с сохранением таблиц на диске, chdb.connect() когда нужен DB-API 2.0. Есть справочники по табличным функциям, SQL-функциям и сигнатурам вызовов, примеры с ожидаемым выводом и скрипт scripts/verify_install.py для проверки окружения. Подстановка значений идёт через params, а не склейкой строк.

Нужен Python 3.9+ и pip install chdb, в compatibility записаны только macOS и Linux. Цепочки методов в стиле pandas скилл не покрывает — для них есть отдельный chdb-datastore, администрирование сервера ClickHouse он тоже не трогает.

Какие задачи решает

  • посчитать аналитику по parquet-файлу без запуска сервера
  • соединить таблицу из MySQL с локальным CSV в одном запросе
  • прогнать разовый SELECT по S3-бакету из Python-скрипта
  • сохранить промежуточные таблицы между шагами в Session
  • подставить дату в запрос через params вместо склейки строк

Примеры запросов агенту

  • Посчитай выручку по `orders.parquet` через chdb, без сервера.
  • Соедини `users` из MySQL с локальным `events.csv` и сгруппируй по стране.
  • Открой `Session` в `./analytics_db`, сложи туда parquet из S3 и посчитай недельную активность по `user_id`.

Как установить chdb-sql

1Через Skills CLI (Vercel)

npx skills add ClickHouse/agent-skills --skill chdb-sql -a claude-code

2Вручную: положить файлы

~/.claude/skills/chdb-sql/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/chdb-sql/

Из того же набора2

Весь набор →

Похожие

firecrawl-lead-research firecrawl Достаёт должность, компанию и фирмографику по людям и доменам, которые вы уже назвали, и дозаполняет таблицы. Пригодится перед звонком или когда старый список лидов пора проверить. Claude Code CX Codex Cursor +1 31 400установок pm-skills Alireza Rezvani Оркестрирует проектную работу через 8 PM-скиллов: Jira, Confluence, спринты, отчёты и коммуникации. Подходит для маршрутизации запросов и контроля delivery-цикла. Claude Code 1 975установок insforge-integrations InsForge Скилл ведёт агента по подключению чужого провайдера аутентификации к InsForge и по приёму оплаты за HTTP-эндпоинт через x402. Claude Code CX Codex Cursor +1 55 700установок connecting-to-data-source aws Создаёт подключение AWS Glue к внешней базе — Oracle, PostgreSQL, Redshift, Snowflake или BigQuery — и проверяет его тестом перед передачей в работу. Claude Code CX Codex Cursor +1 6 800установок querying-data-lake aws Скилл запускает SQL в Amazon Athena: выбирает рабочую группу, останавливает разрушительные запросы на подтверждение и показывает цену прогона. Claude Code CX Codex Cursor +1 6 600установок senior-backend Alireza Rezvani Скилл помогает проектировать архитектуру бэкенда, настраивать REST API и оптимизировать базы данных. Пригодится при создании роутов, ревью кода и нагрузочном тестировании. Claude Code 1 674установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. Claude Code CX Codex Cursor +1 509 900установок

Вопросы о chdb-sql

Как установить chdb-sql в Claude Code?

Одна команда: npx skills add ClickHouse/agent-skills --skill chdb-sql -a claude-code. Файл скилла окажется по пути ~/.claude/skills/chdb-sql/SKILL.md.

Что делает chdb-sql?

Учит агента писать SQL для chDB: аналитические запросы к локальным файлам, S3 и удалённым базам, включая join между разными источниками в одном SELECT.

Что нужно, чтобы скилл заработал?

Python 3.9+ и пакет chdb, ставится через pip install chdb. В compatibility указаны macOS и Linux.

Исходный текст

SKILL.md · Apache-2.0
---
name: chdb-sql
description: >-
  Use when the user wants to run SQL — especially analytical SQL — on
  local files (parquet/csv/json), URLs, S3 paths, or remote databases
  (Postgres, MySQL, MongoDB, ClickHouse Cloud, Iceberg, Delta Lake)
  without setting up a server. Provides chDB — embedded ClickHouse SQL
  in Python with 1000+ functions, Session for stateful multi-step
  pipelines, parametrized queries, and cross-source joins via `s3()`,
  `mysql()`, `postgresql()`, `iceberg()`, `deltaLake()`, `remoteSecure()`
  table functions.
  TRIGGER when: user wants SQL on parquet/csv/files or across remote
  analytical sources; uses ClickHouse SQL features (window functions,
  windowFunnel, geoToH3, JSON path ops, Session, parametrized queries);
  imports `chdb` or calls `chdb.query()`.
  SKIP this skill for pandas-style DataFrame method-chaining (use
  chdb-datastore instead) or ClickHouse server administration.
license: Apache-2.0
compatibility: Requires Python 3.9+, macOS or Linux. pip install chdb.
metadata:
  author: chdb-io
  version: "4.1"
  homepage: https://clickhouse.com/docs/chdb
---

# chdb SQL — ClickHouse in Your Python Process

Run ClickHouse SQL directly in Python — no server needed. Query local files, remote databases, and cloud storage with full ClickHouse SQL power.

```bash
pip install chdb
```

## Decision Tree: Pick the Right API

```
1. One-off query on files or databases → chdb.query()
2. Multi-step analysis with tables      → Session
3. DB-API 2.0 connection                → chdb.connect()
4. Pandas-style DataFrame operations    → Use chdb-datastore skill instead
```

## chdb.query() — One Line, Any Data

```python
import chdb

chdb.query("SELECT * FROM file('data.parquet', Parquet) WHERE price > 100 LIMIT 10")       # local files
chdb.query("SELECT * FROM mysql('db:3306', 'shop', 'orders', 'root', 'pass')")              # databases
chdb.query("SELECT * FROM s3('s3://bucket/data.parquet', NOSIGN) LIMIT 10")                 # cloud storage
chdb.query("SELECT * FROM deltaLake('s3://bucket/delta/table', NOSIGN) LIMIT 10")           # data lakes

# Cross-source join
chdb.query("""
    SELECT u.name, o.amount FROM mysql('db:3306', 'crm', 'users', 'root', 'pass') AS u
    JOIN file('orders.parquet', Parquet) AS o ON u.id = o.user_id ORDER BY o.amount DESC
""")

data = {"name": ["Alice", "Bob"], "score": [95, 87]}
chdb.query("SELECT * FROM Python(data) ORDER BY score DESC")                                # Python data
df = chdb.query("SELECT * FROM numbers(10)", "DataFrame")                                   # output formats
chdb.query("SELECT toDate({d:String}) + number FROM numbers({n:UInt64})",
    "DataFrame", params={"d": "2025-01-01", "n": 30})                                      # parametrized
```

Table functions → [table-functions.md](references/table-functions.md) | SQL functions → [sql-functions.md](references/sql-functions.md) | Full API → [api-reference.md](references/api-reference.md)

## Session — Stateful Analysis Pipelines

```python
from chdb import session as chs
sess = chs.Session("./analytics_db")   # persistent; Session() for in-memory

sess.query("CREATE TABLE users ENGINE=MergeTree() ORDER BY id AS SELECT * FROM mysql('db:3306','crm','users','root','pass')")
sess.query("CREATE TABLE events ENGINE=MergeTree() ORDER BY (ts,user_id) AS SELECT * FROM s3('s3://logs/events/*.parquet',NOSIGN)")
sess.query("""
    SELECT u.country, count() AS cnt, uniqExact(e.user_id) AS users
    FROM events e JOIN users u ON e.user_id = u.id
    WHERE e.ts >= today() - 7 GROUP BY u.country ORDER BY cnt DESC
""", "Pretty").show()
sess.close()
```

## Connection API (DB-API 2.0)

```python
from chdb import dbapi
conn = dbapi.connect()
cur = conn.cursor()
cur.execute("SELECT * FROM file('data.parquet', Parquet) WHERE value > 100")
print(cur.fetchall())
cur.close()
conn.close()
```

## Troubleshooting

| Problem | Fix |
|---------|-----|
| `ImportError: No module named 'chdb'` | `pip install chdb` |
| `DB::Exception: FILE_NOT_FOUND` | Check file path; use absolute path or verify cwd |
| `DB::Exception: Unknown table function` | Check function name spelling (e.g., `deltaLake` not `deltalake`) |
| Connection refused to remote DB | Check host:port format; ensure remote DB allows connections |
| Environment check | Run `python scripts/verify_install.py` (from skill directory) |

## References

- [API Reference](references/api-reference.md) — query/Session/connect signatures
- [Table Functions](references/table-functions.md) — All ClickHouse table functions
- [SQL Functions](references/sql-functions.md) — Commonly used SQL functions
- [Examples](examples/examples.md) — 9 runnable examples with expected output
- [Official Docs](https://clickhouse.com/docs/chdb)

> Note: This skill teaches how to *use* chdb SQL.
> For pandas-style operations, use the `chdb-datastore` skill.
> For contributing to chdb source code, see CLAUDE.md in the project root.

© chdb-io · Apache-2.0 · ClickHouse/agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой