chdb-sql

tarafından clickhouse

Python içinde doğrudan ClickHouse SQL çalıştırın — sunucu gerekmez. Tam ClickHouse SQL gücüyle yerel dosyaları, uzak veritabanlarını ve bulut depolamayı sorgulayın.

npx skills add https://github.com/clickhouse/agent-skills --skill chdb-sql

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.

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

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 | SQL functions → sql-functions.md | Full API → api-reference.md

Session — Stateful Analysis Pipelines

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)

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

ProblemFix
ImportError: No module named 'chdb'pip install chdb
DB::Exception: FILE_NOT_FOUNDCheck file path; use absolute path or verify cwd
DB::Exception: Unknown table functionCheck function name spelling (e.g., deltaLake not deltalake)
Connection refused to remote DBCheck host:port format; ensure remote DB allows connections
Environment checkRun python scripts/verify_install.py (from skill directory)

References

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.

clickhouse tarafından daha fazla skill

clickhouse-best-practices
clickhouse
ClickHouse en iyi uygulamalarına ilişkin 28 kural; şema tasarımı, sorgu optimizasyonu ve veri alım stratejisine göre düzenlenmiştir. Üç kritik alanı kapsar: birincil anahtar ve veri türü seçimi (değişmez tasarım kararları), JOIN ve sorgu optimizasyonu ile toplu ekleme ve mutasyon önleme. Etkiye göre önceliklendirilmiş 28 kural içerir; şema tasarımı ve sorgu optimizasyonu kuralları, ClickHouse'un sütun bazlı depolama ve seyrek indeks mekaniği nedeniyle KRİTİK olarak işaretlenmiştir. Yapılandırılmış inceleme prosedürleri sağlar...
official
clickhouse-js-node-coding
clickhouse
Write idiomatic application code with the ClickHouse Node.js client (`@clickhouse/client`). Use this skill whenever a user is *building* against the Node.js…
official
clickhousectl-cloud-deploy
clickhouse
Bir kullanıcının ClickHouse'u buluta dağıtmak, üretime geçirmek, ClickHouse Cloud'u kullanmak, yönetilen bir ClickHouse hizmeti barındırmak veya yerel bir ortamdan geçiş yapmak istediğinde kullanılır.
official
clickstack-otel-collector
clickhouse
Use when a user wants to wire an OpenTelemetry collector into a Managed ClickStack service on ClickHouse Cloud, either by deploying a new local collector…
official
infra-clickhouse
clickhouse
Sets up and manages ClickHouse using the clickhousectl CLI — installs and runs a local ClickHouse server for development, and creates managed ClickHouse Cloud…
official
infra-postgres
clickhouse
Sets up and manages Postgres using the clickhousectl CLI — runs a local Docker-backed Postgres for development, and creates and operates managed ClickHouse…
official
clickhouse-best-practices
clickhouse
ClickHouse şemalarını, sorgularını veya yapılandırmalarını incelerken KULLANILMALIDIR. Öneriler sunmadan önce kontrol edilmesi GEREKEN 31 kural içerir. Her zaman okuyun…
official
setup
clickhouse
Kullanıcılara bu eklentiyle birlikte gelen ClickHouse MCP sunucu bağlantısını kurma konusunda rehberlik eder. Kullanıcı eklentiyi ilk kez yüklediğinde veya sorun yaşadığında kullanılır…
official