Introduction
- L’interface principale est l’objet
Clientdu paquetclickhouse_connect.driver. Ce paquet central comprend également diverses classes d’assistance et fonctions utilitaires utilisées pour communiquer avec le serveur ClickHouse, ainsi que des implémentations de « contexte » 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 en colonnes « Native » de ClickHouse, afin d’assurer le transport le plus efficace 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, pour des performances nettement supérieures à celles d’une implémentation en Python pur. - Un dialecte SQLAlchemy est disponible 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 instructionsDELETElégères avec des conditionsWHERE, l’introspection des 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 fournit de solides capacités de requête adaptées à la plupart des charges de travail analytiques sur la base de données OLAP de ClickHouse. - Le pilote principal 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 de 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 répertorié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 aussi s’exécuter en pure Python, l’installation depuis les 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 :
- exécutez
git clonesur le dépôt GitHub. - (Facultatif) exécutez
pip install cythonpour compiler et activer les optimisations C/Cython - placez-vous dans le répertoire racine du projet avec
cd, puis exécutezpip install .
Politique de support
Utilisation de base
Rassemblez vos paramètres de connexion
Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud.
Sélectionnez un service, puis cliquez sur Connect :
Choisissez HTTPS. Les détails de connexion s’affichent dans un exemple de commande
curl.
Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.
É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 bidimensionnel de lignes et de valeurs :
query du client :