- L’interface principale est l’objet
Clientdu paquetclickhouse_connect.driver. Ce paquet central inclut également diverses classes d’assistance et fonctions utilitaires utilisées pour communiquer avec le serveur ClickHouse, ainsi que des implémentations de “context” pour la gestion avancée des requêtes d’insertion et de sélection. - Le paquet
clickhouse_connect.datatypesfournit une implémentation de base et des sous-classes pour tous les types de données ClickHouse non expérimentaux. Sa fonction principale est la sérialisation et la désérialisation des données ClickHouse dans le format binaire colonnaire “Native” de ClickHouse, afin d’assurer le transport le plus efficace possible entre ClickHouse et les applications clientes. - Les classes Cython/C du paquet
clickhouse_connect.cdriveroptimisent certaines des sérialisations et désérialisations les plus courantes afin d’offrir des performances nettement supérieures à celles du Python pur. - Il existe un dialecte SQLAlchemy dans le paquet
clickhouse_connect.cc_sqlalchemy, construit à partir des paquetsdatatypesetdbi. Cette implémentation prend en charge les fonctionnalités de SQLAlchemy Core, y compris les requêtesSELECTavec desJOIN(INNER,LEFT OUTER,FULL OUTER,CROSS), les clausesWHERE,ORDER BY,LIMIT/OFFSET, les opérationsDISTINCT, les instructions lightweightDELETEavec des conditionsWHERE, la réflexion de tables et les opérations DDL de base (CREATE TABLE,CREATE/DROP DATABASE). Bien qu’elle ne prenne pas en charge les fonctionnalités ORM avancées ni les fonctionnalités DDL avancées, elle offre des capacités de requête robustes adaptées à la plupart des workloads analytiques sur la base de données orientée OLAP de ClickHouse. - Le pilote central et l’implémentation ClickHouse Connect SQLAlchemy sont la méthode privilégiée pour connecter ClickHouse à Apache Superset. Utilisez la connexion de base de données
ClickHouse Connectou la chaîne de connexion du dialecte SQLAlchemyclickhousedb.
Le pilote Python officiel ClickHouse Connect utilise le protocole HTTP pour communiquer avec le serveur ClickHouse. Cela permet la prise en charge des équilibreurs de charge HTTP et fonctionne bien dans les environnements d’entreprise avec des pare-feu et des proxys, mais offre une compression et des performances légèrement inférieures à celles du protocole natif basé sur TCP, et ne prend pas en charge certaines fonctionnalités avancées comme l’annulation des requêtes. Selon le cas d’usage, vous pouvez envisager d’utiliser l’un des pilotes Python de la communauté qui utilisent le protocole natif basé sur TCP.
Exigences et compatibilité
¹ClickHouse Connect a été explicitement testé sur les plateformes indiquées. En outre, des wheels binaires non testées (avec optimisation C) sont générées pour toutes les architectures prises en charge par l’excellent projet
cibuildwheel. Enfin, comme ClickHouse Connect peut également s’exécuter en pure Python, l’installation à partir des sources devrait fonctionner sur toute installation récente de Python.
²La prise en charge de SQLAlchemy est limitée aux fonctionnalités Core (requêtes, DDL de base). Les fonctionnalités ORM ne sont pas prises en charge. Consultez la documentation SQLAlchemy Integration Support pour plus de détails.
³ClickHouse Connect fonctionne généralement bien avec des versions en dehors de la plage officiellement prise en charge.
Installation
pip install clickhouse-connect
ClickHouse Connect peut également être installé from source :
- clonez le repository GitHub avec
git clone. - (Facultatif) exécutez
pip install cythonpour compiler et activer les optimisations C/Cython - placez-vous dans le directory racine du projet avec
cd, puis exécutezpip install .
Politique de support
Utilisation de base
Munissez-vous de vos informations de connexion
Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud.
Sélectionnez un service, puis cliquez sur Connect :

curl.

Établir une connexion
- Connexion à un serveur ClickHouse sur localhost.
- Connexion à un service ClickHouse Cloud.
Utilisez une instance du client ClickHouse Connect pour vous connecter à un serveur ClickHouse sur localhost :
Utilisez une instance du client ClickHouse Connect pour vous connecter à un service ClickHouse Cloud :
Interagissez avec votre base de données
command du client :
insert du client avec un tableau à deux dimensions de lignes et de valeurs :
query du client :