- A interface principal é o objeto
Clientno pacoteclickhouse_connect.driver. Esse pacote principal também inclui várias classes auxiliares e funções utilitárias usadas para se comunicar com o servidor ClickHouse, além de implementações de contexto para o gerenciamento avançado de consultas de inserção e seleção. - O pacote
clickhouse_connect.datatypesfornece uma implementação base e subclasses para todos os tipos de dados não experimentais do ClickHouse. Sua funcionalidade principal é a serialização e desserialização de dados do ClickHouse no formato colunar binário “Native” do ClickHouse, usado para garantir o transporte mais eficiente entre o ClickHouse e as aplicações cliente. - As classes Cython/C no pacote
clickhouse_connect.cdriverotimizam algumas das serializações e desserializações mais comuns, proporcionando um desempenho significativamente melhor em comparação com Python puro. - Há um dialeto SQLAlchemy no pacote
clickhouse_connect.cc_sqlalchemy, baseado nos pacotesdatatypesedbi. Essa implementação oferece suporte à funcionalidade Core do SQLAlchemy, incluindo consultasSELECTcomJOINs (INNER,LEFT OUTER,FULL OUTER,CROSS), cláusulasWHERE,ORDER BY,LIMIT/OFFSET, operaçõesDISTINCT, instruções lightweightDELETEcom condiçõesWHERE, introspecção de tabelas e operações DDL básicas (CREATE TABLE,CREATE/DROP DATABASE). Embora não ofereça suporte a recursos avançados de ORM nem a recursos avançados de DDL, ela fornece recursos robustos de consulta adequados para a maioria das cargas de trabalho analíticas no banco de dados ClickHouse voltado para OLAP. - O driver principal e a implementação ClickHouse Connect SQLAlchemy são o método preferido para conectar o ClickHouse ao Apache Superset. Use a conexão de banco de dados
ClickHouse Connectou a string de conexão do dialeto SQLAlchemyclickhousedb.
O driver Python oficial ClickHouse Connect usa o protocolo HTTP para se comunicar com o servidor ClickHouse. Isso permite suporte a balanceadores de carga HTTP e funciona bem em ambientes corporativos com firewalls e proxies, mas oferece compressão e desempenho ligeiramente inferiores em comparação com o protocolo nativo baseado em TCP, além de não oferecer suporte a alguns recursos avançados, como cancelamento de consultas. Para alguns casos de uso, você pode considerar usar um dos drivers Python da comunidade que usam o protocolo nativo baseado em TCP.
Requisitos e compatibilidade
¹O ClickHouse Connect foi testado explicitamente nas plataformas listadas. Além disso, wheels binários não testados (com otimização em C) são gerados para todas as arquiteturas compatíveis com o excelente projeto
cibuildwheel. Por fim, como o ClickHouse Connect também pode ser executado como Python puro, a instalação a partir do código-fonte deve funcionar em qualquer instalação recente do Python.
²O suporte ao SQLAlchemy é limitado às funcionalidades do Core (consultas, DDL básico). Recursos de ORM não são compatíveis. Consulte a documentação de SQLAlchemy Integration Support para mais detalhes.
³O ClickHouse Connect geralmente funciona bem com versões fora do intervalo oficialmente suportado.
Instalação
pip install clickhouse-connect
O ClickHouse Connect também pode ser instalado a partir do código-fonte:
- faça
git clonedo repositório no GitHub. - (Opcional) execute
pip install cythonpara compilar e habilitar as otimizações em C/Cython - vá para o diretório raiz do projeto com
cde executepip install .
Política de suporte
Uso básico
Obtenha os detalhes da conexão
Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud.
Selecione um serviço e clique em Connect:

curl de exemplo.

Estabeleça uma conexão
- Conectar-se a um servidor ClickHouse em localhost.
- Conectar-se a um serviço do ClickHouse Cloud.
Use uma instância do cliente ClickHouse Connect para se conectar a um servidor ClickHouse no localhost:
Use uma instância do cliente ClickHouse Connect para se conectar a um serviço do ClickHouse Cloud:
Interaja com seu banco de dados
command do cliente:
insert do cliente com um array bidimensional de linhas e valores:
query do cliente: