К основному содержанию
скилл CX Codex

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

Скилл учит агента ускорять код на pandas через chDB и движок ClickHouse. Пригодится для тяжёлых выборок, паркета и объединения разных баз данных.

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

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

Скилл настраивает работу с chdb.datastore — ленивой заменой pandas на встроенном движке ClickHouse. Код аналитики остаётся привычным, но вызовы методов компилируются в оптимизированный SQL и выполняются только при запросе результата. Инструмент поддерживает 209 методов DataFrame, умеет читать файлы Parquet или CSV, а также подключаться к удалённым хранилищам вроде S3 и MySQL.

Главная возможность инструмента — объединение разнородных источников в одной цепочке без предварительной выгрузки на диск. Например, можно связать локальный файл заказов с таблицей клиентов из MySQL через обычный вызов join().

Для работы понадобятся Python 3.9+ и операционная система macOS или Linux, а также установленный пакет chdb. Если вашей задаче требуются прямые SQL-запросы без интерфейса DataFrame, этот скилл не подойдёт — для них существует chdb-sql.

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

  • ускорить медленные операции фильтрации и группировки в pandas
  • объединить данные из файла Parquet и таблицы MySQL в один DataFrame
  • читать таблицы напрямую из S3 без ручной загрузки файла целиком
  • посмотреть сгенерированный ClickHouse SQL через метод to_sql()

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

  • Замени pandas на chdb.datastore в этом скрипте обработки данных
  • Объедини данные из orders.parquet и таблицы клиентов в MySQL через DataStore
  • Покажи, как отфильтровать большой CSV-файл через chdb и вывести сгенерированный SQL

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

1Через Skills CLI (Vercel)

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

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

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

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

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о chdb-datastore

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

Выполните команду npx skills add ClickHouse/agent-skills --skill chdb-datastore -a claude-code.

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

Скилл обучает агента использовать библиотеку chDB с привычным API pandas. Он переводит операции с таблицами на движок ClickHouse и выполняет запросы лениво.

Чем chdb-datastore отличается от chdb-sql?

Этот скилл ориентирован на Python API датафреймов и замену pandas. Для написания и выполнения сырых SQL-запросов к ClickHouse предназначен скилл chdb-sql.

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

SKILL.md · Apache-2.0
---
name: chdb-datastore
description: >-
  Use when the user has tabular data (pandas DataFrame, parquet, csv,
  Arrow, json) and wants to filter, group, aggregate, join, or speed
  up slow pandas. Provides chDB DataStore — same pandas API,
  ClickHouse engine underneath. Also handles reading from S3, MySQL,
  PostgreSQL, MongoDB, ClickHouse Cloud, Iceberg, Delta Lake as
  DataFrames and joining across sources.
  TRIGGER when: user mentions DataFrame, parquet, csv, "fast pandas",
  "speed up pandas", or cross-source DataFrame joins; user imports
  `chdb.datastore` or `from datastore import DataStore`.
  SKIP this skill for raw SQL syntax (use chdb-sql instead),
  ClickHouse server administration, or non-Python DataStore API work.
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 DataStore — It's Just Faster Pandas

## The Key Insight

```python
# Change this:
import pandas as pd
# To this:
import chdb.datastore as pd
# Everything else stays the same.
```

DataStore is a **lazy, ClickHouse-backed pandas replacement**. Your existing pandas code works unchanged — but operations compile to optimized SQL and execute only when results are needed (e.g., `print()`, `len()`, iteration).

```bash
pip install chdb
```

## Decision Tree: Pick the Right Approach

```
1. "I have a file/database and want to analyze it with pandas"
   → DataStore.from_file() / from_mysql() / from_s3() etc.
   → See references/connectors.md

2. "I need to join data from different sources"
   → Create DataStores from each source, use .join()
   → See examples/examples.md #3-5

3. "My pandas code is too slow"
   → import chdb.datastore as pd — change one line, keep the rest

4. "I need raw SQL queries"
   → Use the chdb-sql skill instead
```

## Connect to Any Data Source — One Pattern

```python
from datastore import DataStore

# Local file (auto-detects .parquet, .csv, .json, .arrow, .orc, .avro, .tsv, .xml)
ds = DataStore.from_file("sales.parquet")

# Database
ds = DataStore.from_mysql(host="db:3306", database="shop", table="orders", user="root", password="pass")

# Cloud storage
ds = DataStore.from_s3("s3://bucket/data.parquet", nosign=True)

# URI shorthand — auto-detects source type
ds = DataStore.uri("mysql://root:pass@db:3306/shop/orders")
```

All 16+ sources and URI schemes → [connectors.md](references/connectors.md)

## After Connecting — Full Pandas API

```python
result = ds[ds["age"] > 25]                                          # filter
result = ds[["name", "city"]]                                        # select columns
result = ds.sort_values("revenue", ascending=False)                  # sort
result = ds.groupby("dept")["salary"].mean()                         # groupby
result = ds.assign(margin=lambda x: x["profit"] / x["revenue"])     # computed column
ds["name"].str.upper()                                               # string accessor
ds["date"].dt.year                                                   # datetime accessor
result = ds1.join(ds2, on="id")                                      # join
result = ds.head(10)                                                 # preview
print(ds.to_sql())                                                   # see generated SQL
```

209 DataFrame methods supported. Full API → [api-reference.md](references/api-reference.md)

## Cross-Source Join — The Killer Feature

```python
from datastore import DataStore

customers = DataStore.from_mysql(host="db:3306", database="crm", table="customers", user="root", password="pass")
orders = DataStore.from_file("orders.parquet")

result = (orders
    .join(customers, left_on="customer_id", right_on="id")
    .groupby("country")
    .agg({"amount": "sum", "rating": "mean"})
    .sort_values("sum", ascending=False))
print(result)
```

More join examples → [examples.md](examples/examples.md)

## Writing Data

```python
source = DataStore.from_mysql(host="db:3306", database="shop", table="orders", user="root", password="pass")
target = DataStore("file", path="summary.parquet", format="Parquet")

target.insert_into("category", "total", "count").select_from(
    source.groupby("category").select("category", "sum(amount) AS total", "count() AS count")
).execute()
```

## Troubleshooting

| Problem | Fix |
|---------|-----|
| `ImportError: No module named 'chdb'` | `pip install chdb` |
| `ImportError: cannot import 'DataStore'` | Use `from datastore import DataStore` or `from chdb.datastore import DataStore` |
| Database connection timeout | Include port in host: `host="db:3306"` not `host="db"` |
| Join returns empty result | Check key types match (both int or both string); use `.to_sql()` to inspect |
| Unexpected results | Call `ds.to_sql()` to see the generated SQL and debug |
| Environment check | Run `python scripts/verify_install.py` (from skill directory) |

## References

- [API Reference](references/api-reference.md) — Full DataStore method signatures
- [Connectors](references/connectors.md) — All 16+ data source connection methods
- [Examples](examples/examples.md) — 10+ runnable examples with expected output
- [Verify Install](scripts/verify_install.py) — Environment verification script
- [Official Docs](https://clickhouse.com/docs/chdb)

> Note: This skill teaches how to *use* chdb DataStore.
> For raw SQL queries, use the `chdb-sql` skill.
> For contributing to chdb source code, see CLAUDE.md in the project root.

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

Похожие скиллы

Все скиллы по теме «Данные и базы» →
polars K-Dense-AI Скилл подключает справочник по Polars — библиотеке DataFrame для Python с expression-based API, ленивыми запросами и агрегациями для ETL и миграции с pandas. CX Codex +1 2 000установок prisma-orm-setup prisma Проводит агента по настройке Prisma ORM: определить версию, подключить базу, проверить соединение. Новые приложения сажает на Prisma ORM 8. CX Codex +1 67 900установок create-spring-boot-java-project официальный github Создаёт каркас Spring Boot на Java с Maven, базами данных и Docker Compose. Подходит для старта API, которому нужны PostgreSQL, Redis и MongoDB. 9 516установок create-spring-boot-kotlin-project официальный github Скилл создаёт каркас Spring Boot на Kotlin с Gradle и настраивает PostgreSQL, Redis и MongoDB. Подойдёт, если нужен стартовый проект с реактивными зависимостями и тестами. 8 700установок langchain4j-vector-stores-configuration giuseppe-trisciuoglio Скилл подсказывает, как собрать векторное хранилище для RAG на LangChain4J: подключение, размерность эмбеддингов, фильтры по метаданным. CX Codex +1 3 700установок powersync powersync Помогает настраивать синхронизацию PowerSync в мобильных и веб-приложениях, менять схемы, подключать бэкенды и чинить зависшую очередь выгрузки. CX Codex +1 1 300установок

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

clickhouse-best-practices Скилл с набором правил для проверки схем, запросов и конфигураций ClickHouse. Помогает агентам избежать типичных ошибок в дизайне таблиц, оптимизации JOIN и батчировании данных. CX Codex +1 21 700установок clickhouse-architecture-advisor Помогает спроектировать архитектуру ClickHouse под конкретный тип нагрузки: от стратегии вставки до партиционирования. Дополняет clickhouse-best-practices ссылками на документацию. CX Codex +1 9 800установок chdb-sql Скилл учит агента писать аналитический SQL по parquet, CSV, S3 и удалённым базам через chDB — это ClickHouse, встроенный в процесс Python, сервер поднимать не нужно. CX Codex +1 8 900установок clickhouse-js-node-troubleshooting Помогает находить и устранять сбои в Node.js-клиенте @clickhouse/client: обрывы сокетов, ошибки типов данных и проблемы с TLS. CX Codex +1 7 600установок clickhouse-js-node-coding Помогает агенту писать код с пакетом @clickhouse/client: подключение, вставка строк, выборки, параметры запросов. CX Codex +1 7 000установок clickhouse-managed-postgres-rca Ищет причины просадки производительности ClickHouse-managed Postgres по метрикам Prometheus и Slow Query Patterns, предлагая исправления без их применения. CX Codex +1 6 600установок clickhouse-js-node-rowbinary Генерирует TypeScript и JavaScript для чтения и записи потоков ClickHouse RowBinary в Node.js. Нужен при работе с двоичным HTTP-форматом таблиц. CX Codex +1 6 400установок

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

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