- 主要接口是
clickhouse_connect.driver中的同步Client和基于原生 aiohttp 的AsyncClient。该驱动包还提供查询和 insert 上下文、流式辅助工具、DB-API 支持,以及更底层的 HTTP 方法。 clickhouse_connect.datatypes包使用 ClickHouse Native 二进制列式格式对 ClickHouse 类型进行序列化和反序列化。clickhouse_connect.driverc中的可选 Cython 扩展可加速常见的序列化、转换和 buffering 路径。在无法构建这些扩展的平台上,仍可使用纯 Python 路径。一个需要主动启用的 Experimental Rust codec 可以完全替代 Native format 的处理过程。- 该包附带 PEP 561 类型信息,因此下游类型检查器可使用公共驱动、DB-API 和 SQLAlchemy 接口的 annotations。
clickhouse_connect.cc_sqlalchemy中的 SQLAlchemy dialects 包括同步的clickhousedb://连接和异步的clickhousedb+async://连接。它们支持 SQLAlchemy Core、schema reflection、ClickHouse 特有的查询 clauses 和 table engines,以及 Alembic migrations。基础的 ORM reads 和 inserts 可以正常工作,但该 dialect 的设计目标是分析型 workloads,而非完整的工作单元式 ORM 行为。- 核心驱动和 ClickHouse Connect SQLAlchemy 实现是将 ClickHouse 连接到 Apache Superset 的首选方法。请使用
ClickHouse Connect数据库 connection,或clickhousedbSQLAlchemy dialect connection string。
标准的 ClickHouse Connect 客户端 使用 HTTP interface。这支持 HTTP load balancers、proxies 以及常见的企业网络控制。ClickHouse Connect 还提供一个 Experimental 的 in-process chDB 后端。
要求与兼容性
该软件包在可用时会提供已编译的 wheel;如果无法构建 Cython 扩展,则会回退为纯 Python 实现。PyArrow 支持 Python 3.10 至 3.14。Python 3.14 需要 PyArrow 22 或更高版本。
安装
通过 pip 从 PyPI 安装 ClickHouse Connect:- 对 GitHub repository 执行
git clone。 - 切换到项目根目录并运行
pip install .。构建系统会自动安装 Cython,以编译可选的 C 扩展。
源码构建模式
源码构建支持三种模式。当 Cython 不可用或cythonize() 失败时,默认模式和 required 模式都会构建失败。skip 模式不会导入 Cython。
同时设置
CLICKHOUSE_CONNECT_SKIP_CYTHON=1 和 CLICKHOUSE_CONNECT_REQUIRE_C=1 会导致错误。
默认回退生成的 wheel 不包含已编译的扩展,但仍保留平台和解释器标签。只有 skip 模式才会生成 py3-none-any。pip 可能会缓存由索引中的 sdist 构建出的回退 wheel,并在编译器问题修复后,仍将其重用于兼容的 Python 版本和平台。可使用以下命令清除缓存:
True:
clickhouse_connect.driverc.npconv 同样需要安装 NumPy。
已安装的版本可通过 clickhouse_connect.__version__ 获取。
支持策略
在报告问题前,请先更新到最新的 ClickHouse Connect 发行版。请在 GitHub 项目中提交 issue。ClickHouse Connect 以每个驱动发行版发布时仍受积极支持的 ClickHouse 发行版为目标。它通常也兼容较旧的服务器版本,但较新的数据类型和协议功能可能需要更新的服务器版本。基本用法
准备连接详情
要通过 HTTP(S) 连接到 ClickHouse,你需要以下信息:
你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。
选择一个服务,然后点击 Connect:

curl 命令中。

建立连接
下面展示了两个连接到 ClickHouse 的示例:- 连接到 localhost 上的 ClickHouse 服务器。
- 连接到 ClickHouse Cloud 服务。
使用 ClickHouse Connect 客户端实例连接到 localhost 上运行的 ClickHouse 服务器:
使用 ClickHouse Connect 客户端实例连接到 ClickHouse Cloud 服务:
与数据库交互
要执行 ClickHouse SQL 命令,请使用客户端的command 方法:
insert 方法,并传入一个由行和值组成的二维数组:
query 方法:
嵌入式 chDB 后端
Experimental chDB 后端可在 Python 进程内直接运行 ClickHouse 查询,无需 HTTP 服务器。安装chdb 扩展包,然后通过 interface="chdb" 或 chdb:// DSN 选择该后端:
path="/data/my_chdb" 或使用 dsn="chdb:///data/my_chdb" 可实现持久化存储。chDB 每个进程只支持一个 engine path。它不支持异步客户端或外部数据。