Skip to main content
ClickHouse Connect es un driver principal de base de datos que ofrece interoperabilidad con una amplia variedad de aplicaciones Python.
  • Las interfaces principales son Client, síncrona, y AsyncClient, nativa basada en aiohttp, en clickhouse_connect.driver. El paquete del driver también proporciona contextos de consulta e inserción, funciones auxiliares de streaming, compatibilidad con DB-API y métodos HTTP de nivel inferior.
  • El paquete clickhouse_connect.datatypes serializa y deserializa tipos de ClickHouse mediante el formato binario nativo columnar de ClickHouse.
  • Las extensiones opcionales de Cython en clickhouse_connect.driverc aceleran las rutas habituales de serialización, conversión y almacenamiento en búfer. También sigue disponible una ruta en pure Python en plataformas donde no se pueden compilar las extensiones.
  • El paquete incluye información de tipos PEP 561, por lo que los verificadores de tipos posteriores pueden usar annotations para las superficies públicas del driver, DB-API y SQLAlchemy.
  • El dialecto de SQLAlchemy en clickhouse_connect.cc_sqlalchemy admite SQLAlchemy Core, reflection de esquemas, clauses de consulta específicas de ClickHouse y table engines, así como migrations de Alembic. Las lecturas e inserciones básicas de ORM funcionan, pero el dialecto está diseñado para cargas de trabajo analíticas, no para ofrecer todo el comportamiento ORM de unidad de trabajo.
  • El driver principal y la implementación de ClickHouse Connect SQLAlchemy son el método preferido para conectar ClickHouse con Apache Superset. Use la conexión de base de datos ClickHouse Connect o la cadena de conexión del dialecto SQLAlchemy clickhousedb.
Esta documentación está actualizada para clickhouse-connect 1.6.0. Si está actualizando desde la versión 0.15.x o anterior, consulte la guía de migración a 1.0.
Los Clients estándar de ClickHouse Connect usan la interfaz HTTP. Esto permite usar balanceadores de carga HTTP, proxies y controles de red empresariales habituales. ClickHouse Connect también tiene un backend chDB experimental en el mismo proceso.

Requisitos y compatibilidad

El package incluye wheels compilados cuando están disponibles y recurre a una implementación en pure Python cuando no se pueden compilar las extensiones de Cython. PyArrow es compatible con Python de 3.10 a 3.14. Python 3.14 requiere PyArrow 22 o posterior.

Instalación

Instala ClickHouse Connect desde PyPI con pip:
Las integraciones opcionales se instalan con extras:
ClickHouse Connect también puede instalarse desde el código fuente:
  • Haz git clone del repositorio de GitHub.
  • Ve a la raíz del proyecto y ejecuta pip install .. El sistema de compilación instala Cython automáticamente para compilar las extensiones C opcionales.
La versión instalada está disponible en clickhouse_connect.__version__.

Política de soporte

Actualiza a la versión más reciente de ClickHouse Connect antes de reportar un issue. Registra los issues en el proyecto de GitHub. ClickHouse Connect está pensado para las versiones de ClickHouse con soporte activo en el momento de cada versión del driver. A menudo también funciona con versiones anteriores del servidor, pero los tipos de datos y las funciones del protocolo más recientes pueden requerir un servidor más reciente.

Uso básico

Obtén los detalles de conexión

Para conectarse a ClickHouse con HTTP(S), necesita esta información: Los detalles de su servicio de ClickHouse Cloud están disponibles en la consola de ClickHouse Cloud. Seleccione un servicio y haga clic en Connect:
Botón Connect del servicio de ClickHouse Cloud
Elija HTTPS. Los detalles de conexión se muestran en un comando curl de ejemplo.
Detalles de conexión HTTPS de ClickHouse Cloud
Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.

Establecer una conexión

Se muestran dos ejemplos de conexión a ClickHouse:
  • Conexión a un servidor de ClickHouse en localhost.
  • Conexión a un servicio de ClickHouse Cloud.

Usa una instancia Client de ClickHouse Connect para conectarte a un servidor de ClickHouse en localhost:

Usa una instancia del Client ClickHouse Connect para conectarte a un servicio de ClickHouse Cloud:

Usa los datos de conexión recopilados anteriormente. Los servicios de ClickHouse Cloud requieren TLS, así que usa el puerto 8443.

Interactúa con tu base de datos

Para ejecutar un comando de ClickHouse SQL, usa el método command del Client:
Para insertar datos por lotes, use el método insert del Client con un array bidimensional de filas y valores:
Para recuperar datos con ClickHouse SQL, use el método query del Client:

Backend embebido de chDB

El backend experimental de chDB ejecuta consultas de ClickHouse dentro del proceso de Python, sin necesidad de un servidor HTTP. Instala el extra chdb y luego selecciona el backend con interface="chdb" o un DSN chdb://:
La base de datos predeterminada está en memoria. Pase path="/data/my_chdb" o use dsn="chdb:///data/my_chdb" para almacenamiento persistente. chDB permite una sola ruta de engine por proceso. No es compatible con el Client async ni con datos externos.
Última modificación el 14 de agosto de 2026