Passer au contenu principal

Introduction

ClickHouse prend en charge l’interface gRPC. Il s’agit d’un système open source d’appels de procédure à distance qui utilise HTTP/2 et les Protocol Buffers. L’implémentation de gRPC dans ClickHouse prend en charge :
  • SSL ;
  • l’authentification ;
  • les sessions ;
  • la compression ;
  • l’exécution de requêtes en parallèle sur le même canal ;
  • l’annulation de requêtes ;
  • la récupération des informations de progression et des logs ;
  • les tables externes.
La spécification de l’interface est décrite dans clickhouse_grpc.proto.

Configuration de gRPC

Pour utiliser l’interface gRPC, définissez grpc_port dans la configuration du serveur principale. Les autres options de configuration sont présentées dans l’exemple suivant :

Client intégré

Vous pouvez écrire un client dans n’importe quel langage de programmation pris en charge par gRPC à l’aide de la spécification fournie. Vous pouvez aussi utiliser un client Python intégré. Il se trouve dans utils/grpc-client/clickhouse-grpc-client.py dans le dépôt. Le client intégré nécessite les modules Python grpcio and grpcio-tools. Le client prend en charge les arguments suivants :
  • --help – Affiche un message d’aide et quitte.
  • --host HOST, -h HOST – Un nom de serveur. Valeur par défaut : localhost. Vous pouvez également utiliser des adresses IPv4 ou IPv6.
  • --port PORT – Le port auquel se connecter. Ce port doit être activé dans la configuration du serveur ClickHouse (voir grpc_port). Valeur par défaut : 9100.
  • --user USER_NAME, -u USER_NAME – Un nom d’utilisateur. Valeur par défaut : default.
  • --password PASSWORD – Un mot de passe. Valeur par défaut : chaîne vide.
  • --query QUERY, -q QUERY – Une requête à traiter lors de l’utilisation du mode non interactif.
  • --database DATABASE, -d DATABASE – Une base de données par défaut. Si elle n’est pas spécifiée, la base de données courante définie dans les paramètres du serveur est utilisée (default par défaut).
  • --format OUTPUT_FORMAT, -f OUTPUT_FORMAT – Un format de sortie des résultats. Valeur par défaut pour le mode interactif : PrettyCompact.
  • --debug – Active l’affichage des informations de débogage.
Pour exécuter le client en mode interactif, appelez-le sans l’argument --query. En mode batch, les données de la requête peuvent être transmises via stdin. Exemple d’utilisation du client Dans l’exemple suivant, une table est créée et chargée avec les données d’un fichier CSV. Le contenu de la table est ensuite interrogé.
Query
Response
Dernière modification le 1 juillet 2026