Skip to main content
clickhouse-jdbc-bridge contient du code Experimental et n’est plus pris en charge. Il peut présenter des problèmes de fiabilité et des vulnérabilités de sécurité. Utilisez-le à vos risques et périls.
L’utilisation de JDBC nécessite ClickHouse JDBC Bridge. Vous devrez donc utiliser clickhouse-local sur une machine locale pour transférer en flux les données de votre base de données vers ClickHouse Cloud. Consultez la page Using clickhouse-local, dans la section Migrate de la documentation, pour plus de détails.
Vue d’ensemble : ClickHouse JDBC Bridge, combiné à la fonction de table jdbc ou au moteur de table JDBC, permet à ClickHouse d’accéder aux données de toute source de données externe pour laquelle un pilote JDBC est disponible : C’est pratique lorsqu’il n’existe ni integration engine, ni table function native intégrée, ni dictionnaire externe pour la source de données externe, mais qu’un pilote JDBC est disponible pour cette source. Vous pouvez utiliser ClickHouse JDBC Bridge à la fois pour les lectures et les écritures. Il peut également être utilisé en parallèle avec plusieurs sources de données externes ; par exemple, vous pouvez exécuter des distributed queries sur ClickHouse sur plusieurs sources de données externes et internes en temps réel. Dans cette leçon, nous allons vous montrer à quel point il est facile d’installer, de configurer et d’exécuter ClickHouse JDBC Bridge afin de connecter ClickHouse à une source de données externe. Nous utiliserons MySQL comme source de données externe pour cette leçon. C’est parti !
PrérequisVous avez accès à une machine qui dispose de :
  1. un Unix shell et un accès à internet
  2. wget installé
  3. une version récente de Java (par ex. OpenJDK Version >= 17) installée
  4. une version récente de MySQL (par ex. MySQL Version >=8) installée et en cours d’exécution
  5. une version récente de ClickHouse installée et en cours d’exécution

Installer ClickHouse JDBC Bridge localement

Le moyen le plus simple d’utiliser ClickHouse JDBC Bridge est de l’installer et de l’exécuter sur le même hôte que celui sur lequel ClickHouse s’exécute : Commençons par nous connecter au shell Unix de la machine sur laquelle ClickHouse s’exécute, puis par créer un dossier local dans lequel nous installerons plus tard ClickHouse JDBC Bridge (n’hésitez pas à donner à ce dossier le nom de votre choix et à le placer où vous voulez) :
Téléchargez maintenant la version actuelle du ClickHouse JDBC Bridge dans ce dossier :
Pour pouvoir se connecter à MySQL, nous créons une source de données nommée :
Vous pouvez maintenant copier-coller la configuration suivante dans le fichier ~/clickhouse-jdbc-bridge/config/datasources/mysql8.json :
dans le fichier de configuration ci-dessus
  • vous pouvez utiliser n’importe quel nom pour la source de données ; nous avons utilisé mysql8
  • dans la valeur de jdbcUrl, vous devez remplacer <host> et <port> par les valeurs appropriées pour votre instance MySQL en cours d’exécution, par exemple "jdbc:mysql://localhost:3306"
  • vous devez remplacer <username> et <password> par vos identifiants MySQL ; si vous n’utilisez pas de mot de passe, vous pouvez supprimer la ligne "password": "<password>" du fichier de configuration ci-dessus
  • dans la valeur de driverUrls, nous avons simplement indiqué une URL depuis laquelle la version actuelle du pilote JDBC MySQL peut être téléchargée. C’est tout ce qu’il faut faire, et le ClickHouse JDBC Bridge téléchargera automatiquement ce pilote JDBC (dans un répertoire propre au système d’exploitation).

Nous sommes maintenant prêts à démarrer le ClickHouse JDBC Bridge :
Nous avons démarré ClickHouse JDBC Bridge au premier plan. Pour arrêter le Bridge, vous pouvez remettre au premier plan la fenêtre du shell Unix ci-dessus et appuyer sur CTRL+C.

Utiliser la connexion JDBC depuis ClickHouse

ClickHouse peut désormais accéder aux données MySQL soit via la fonction de table jdbc, soit via le moteur de table JDBC. Le moyen le plus simple d’exécuter les exemples suivants est de les copier-coller dans le clickhouse-client ou dans l’interface Play.
  • Fonction de table jdbc :
Comme premier paramètre de la fonction de table jdbc, nous utilisons le nom de la source de données nommée que nous avons configurée ci-dessus.
  • Moteur de table JDBC :
Comme premier paramètre de la clause engine jdbc, nous utilisons le nom de la source de données nommée que nous avons configurée ci-dessusLe schéma de la table du moteur JDBC de ClickHouse et celui de la table MySQL connectée doivent correspondre ; par exemple, les noms et l’ordre des colonnes doivent être identiques, et les types de données des colonnes doivent être compatibles

Installer ClickHouse JDBC Bridge à l’extérieur

Pour un cluster ClickHouse distribué (c’est-à-dire un cluster comportant plus d’un hôte ClickHouse), il est pertinent d’installer et d’exécuter ClickHouse JDBC Bridge à l’extérieur, sur un hôte dédié : L’avantage est que chaque hôte ClickHouse peut accéder à JDBC Bridge. Sinon, JDBC Bridge devrait être installé localement sur chaque instance ClickHouse censée accéder à des sources de données externes via le Bridge. Pour installer ClickHouse JDBC Bridge à l’extérieur, procédez comme suit :
  1. Installez, configurez et exécutez ClickHouse JDBC Bridge sur un hôte dédié en suivant les étapes décrites dans la section 1 de ce guide.
  2. Sur chaque hôte ClickHouse, ajoutez le bloc de configuration suivant à la configuration du serveur ClickHouse (selon le format de configuration choisi, utilisez la version XML ou YAML) :
  • remplacez JDBC-Bridge-Host par le nom d’hôte ou l’adresse IP de l’hôte dédié à ClickHouse JDBC Bridge
  • nous avons indiqué le port par défaut de ClickHouse JDBC Bridge, 9019 ; si vous utilisez un autre port pour JDBC Bridge, vous devez adapter la configuration ci-dessus en conséquence
Dernière modification le 23 juillet 2026