Skills Agentes

Chdb Datastore

Úsalo cuando el usuario tenga datos tabulares (DataFrame, parquet, csv, Arrow, json) y quiera filtrar, agrupar, agregar, unir o acelerar pandas lento con chDB DataStore.

Oficial

Reemplaza a: pandas para análisis de datos tabulares lento

Estrellas
536

en todo el repo

Actividad
45

0–100, la ruta de este skill

Actualizado
hace 4 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1.4k tok

170 tok en reposo

Paquete
7 archivos

36 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

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

Se instala solo en este repositorio.

Qué hace

  • Reemplaza pandas con chdb DataStore, ejecutando operaciones como SQL sobre ClickHouse de forma perezosa
  • Conecta DataFrames a fuentes como S3, MySQL, PostgreSQL, MongoDB, ClickHouse Cloud, Iceberg y Delta Lake
  • Permite hacer join entre DataFrames de distintas fuentes con la API de pandas
  • Genera y muestra el SQL equivalente a las operaciones con ds.to_sql()

Úsalo cuando

  • El usuario tiene datos tabulares (DataFrame, parquet, csv, Arrow, json) y quiere filtrar, agrupar, agregar o unir
  • El usuario pide acelerar pandas lento
  • El usuario menciona joins entre DataFrames de distintas fuentes
  • El usuario importa chdb.datastore o from datastore import DataStore

No lo uses cuando

  • Consultas de sintaxis SQL cruda (usar chdb-sql en su lugar)
  • Administración del servidor ClickHouse
  • Trabajo con la API de DataStore fuera de Python

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • “Tengo un DataFrame de pandas muy lento, ¿cómo lo acelero con chdb?”
  • “Necesito unir datos de MySQL con un archivo parquet usando pandas”
  • “Quiero leer datos desde S3 como DataFrame y agruparlos”
  • “Convierte mi código pandas para que use ClickHouse por debajo”

SKILL.md

En inglés

chdb DataStore — It's Just Faster Pandas

The Key Insight

# 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).

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

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

After Connecting — Full Pandas API

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

Cross-Source Join — The Killer Feature

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

Writing Data

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

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.

Reproducido de ClickHouse/agent-skills bajo licencia Apache-2.0. Leer esta página en markdown.

Archivos

7 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Antes de instalar

Requiere Python 3.9+, macOS o Linux, y ejecutar pip install chdb.

Necesita en el PATH:pip

Detalles

Creador
ClickHouse
Licencia
Apache-2.0
Recursos incluidos
scripts en python + referencias
Código fuente
Ver SKILL.md

Etiquetas

Más de ClickHouse/agent-skills

Este repo incluye 11 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack agent-skills entero y su comando de instalación

Genera código TypeScript/JavaScript que lee/decodifica y escribe/codifica streams RowBinary de ClickHouse para el servidor HTTP; solo para Node.js, no cubre navegadores.

Costo de contexto al activarse
1.3k tok
Tamaño del paquete
193 archivos
Última actualización
hace 2 meses
Oficialbases de datos

Configura y gestiona ClickHouse con la CLI clickhousectl: servidor local para desarrollo y servicios ClickHouse Cloud gestionados para producción, incluyendo auth, esquemas y conexión.

Costo de contexto al activarse
661 tok
Tamaño del paquete
5 archivos
Última actualización
hace 2 meses
Oficialbases de datos

Configura y gestiona Postgres con clickhousectl: Postgres local con Docker para desarrollo, o servicios Postgres gestionados en ClickHouse Cloud (conexiones, TLS, réplicas, failover, restauración).

Costo de contexto al activarse
664 tok
Tamaño del paquete
5 archivos
Última actualización
hace 2 meses
Oficialbases de datos

Conecta un colector OpenTelemetry a un servicio Managed ClickStack en ClickHouse Cloud, desplegando uno nuevo o configurando el existente, y envía telemetría sintética para verificarlo en ClickStack.

Costo de contexto al activarse
9.9k tok
Tamaño del paquete
2 archivos
Última actualización
hace 2 meses
Oficialdevops infraestructura

Escribe código idiomático para el cliente Node.js de ClickHouse (@clickhouse/client): configuración, ping, inserts, selects, parámetros, sesiones y tipos de datos. No usar para código de cliente Web/navegador.

Costo de contexto al activarse
2.8k tok
Tamaño del paquete
13 archivos
Última actualización
hace 3 meses
Oficialbases de datos

Soluciona problemas comunes del cliente Node.js de ClickHouse (@clickhouse/client): socket hang-up, Keep-Alive, streams, tipos de datos, TLS/proxy y timeouts.

Costo de contexto al activarse
1.3k tok
Tamaño del paquete
10 archivos
Última actualización
hace 3 meses
Oficialbases de datos

Skills relacionados

Ejecuta SQL analítico con chDB, ClickHouse embebido en Python, sobre archivos locales, URLs, S3 o bases remotas (Postgres, MySQL, MongoDB, Iceberg, Delta Lake) sin servidor.

Costo de contexto al activarse
1.2k tok
Tamaño del paquete
8 archivos
Última actualización
hace 4 meses
Oficialbases de datos

Úsalo obligatoriamente al diseñar arquitecturas ClickHouse, elegir patrones de ingesta o modelado, o traducir buenas prácticas en diseños específicos del workload.

Costo de contexto al activarse
791 tok
Tamaño del paquete
15 archivos
Última actualización
hace 4 meses
Oficialbases de datos

Úsalo obligatoriamente al revisar schemas, queries o configuraciones de ClickHouse: contiene 31 reglas que deben verificarse antes de dar recomendaciones.

Costo de contexto al activarse
2.6k tok
Tamaño del paquete
37 archivos
Última actualización
hace 4 meses
Oficialbases de datos