Prérequis
- Si votre posture de sécurité ClickHouse nécessite une liste blanche d’adresses IP, ayez à disposition l’IP statique du service de synchronisation des données. Vous en aurez besoin à l’étape 1.
🚧 Tunneling SSH non pris en charge Les destinations ClickHouse ne prennent pas en charge le tunneling SSH. Votre instance ClickHouse doit être accessible via l’Internet public.
Étape 1 : autoriser l’accès
Créez une règle dans un groupe de sécurité ou les paramètres de pare-feu pour mettre en liste blanche :- Les connexions entrantes vers votre hôte et port (généralement
9440pour TLS ou9000pour TCP) depuis l’IP statique. - Les connexions sortantes depuis les ports
1024à65535vers l’IP statique.
📘 Mise en liste blanche du réseauSi vous êtes en cloud privé ou auto-hébergé, contactez votre représentant Metronome pour obtenir l’IP de sortie statique.
- Cloud Hosted (US) :
35.192.85.117/32- Cloud Hosted (EU) :
104.199.49.149/32
Étape 2 : créer un utilisateur en écriture
Créez un utilisateur de base de données pour écrire les données exportées.- Ouvrez une connexion à votre base de données ClickHouse.
- Exécutez la commande SQL suivante pour créer un utilisateur pour le transfert de données :
🚧 Règles de mot de passe Les mots de passe ne peuvent contenir que des caractères alphanumériques (A-Z,a-z,0-9), des tirets (-) et des underscores (_).
- Accordez à l’utilisateur les privilèges requis sur la base de données :
📘 Comprendre les permissionsCREATE TEMPORARY TABLEetS3Le service de synchronisation des données utilise ces permissions pour transférer efficacement les données vers ClickHouse. Il stocke les données dans un stockage d’objets sous forme de fichiers compressés, les copie dans des tables temporaires avecCOPY INTOet les fusionne dans les tables cibles. La table temporaire ne persiste pas au-delà de la session.
Étape 3 : configurer un bucket de staging
Les destinations ClickHouse nécessitent un bucket de staging pour transférer efficacement les données. Configurez votre bucket de staging en utilisant l’une des options suivantes :- S3 — Suivez le guide de configuration du bucket de staging S3.
- GCS — Suivez le guide de configuration du bucket de staging GCS.
- Implicite — Utilisez les ressources de staging intégrées de votre cluster ClickHouse (voir ci-dessous).
📘 Utiliser l’option bucket implicite ClickHouse prend en charge la configuration des ressources de staging avec des identifiants d’environnement. Si ce paramètre est activé sur votre cluster ClickHouse, vous pouvez choisir l’option implicite lors de la configuration de la destination pour utiliser les ressources de staging configurées du cluster.
📘 Optionnel : ajouter une politique de cycle de vie de courte rétention Si vous utilisez S3 ou GCS pour le staging, vous pouvez configurer une règle de cycle de vie sur le bucket pour supprimer automatiquement les objets de plus de 2 jours. La logique de transfert nettoie les fichiers une fois terminée, cette étape est donc facultative.
Étape 4 : ajouter votre destination
🚧 Protocole de connexion
Utilisez le protocole natif TCP de ClickHouse, pas HTTPS. Il est généralement exposé sur le port 9000.
Utilisez les détails suivants pour finaliser la configuration de la connexion :
- Host name
- Port
- Cluster
- Database name
- Schema name
- Username
- Password
- Staging bucket details
📘 Comprendre les champs database vs. schema Selon la version de votre intégration, la configuration demande à la fois une database et un schema, ou une connection database et une write database.Ils peuvent avoir la même valeur, mais ce n’est pas obligatoire.
- Database (également appelée
connection_database) : la base de données utilisée pour établir la connexion avec ClickHouse.- Schema (également appelée
write_database) : la base de données ou le schéma dans lequel le service écrit les données.
Interroger les données ClickHouse
Les tables ClickHouse résultantes utilisent le moteur de table ReplacingMergeTree pour effectuer efficacement les upserts. Utilisez le mot-cléFINAL lors de la sélection à partir de ces tables pour supprimer les doublons.