Formats pris en charge
Fonctionnalités
Ingestion ponctuelle
Ingestion continue
Ordre lexicographique
file1, file2 et file3 seront ingérés séquentiellement, mais si un nouveau file 0 est ajouté au bucket, il sera ignoré, car son nom n’est pas lexicographiquement supérieur à celui du dernier fichier ingéré.
Dans ce mode, le ClickPipe GCS effectue un chargement initial de tous les fichiers dans le chemin spécifié, puis recherche de nouveaux fichiers à intervalles configurables (30 secondes par défaut). Il est impossible de démarrer l’ingestion à partir d’un fichier spécifique ou d’un moment précis — ClickPipes chargera toujours tous les fichiers du chemin spécifié.
Dans n’importe quel ordre
Le mode non ordonné n’est pas pris en charge pour les buckets publics. Il nécessite une authentification par compte de service ainsi qu’un abonnement Google Cloud Pub/Sub connecté au bucket.
OBJECT_FINALIZE via l’abonnement Pub/Sub correspondant au chemin spécifié. Tout message concernant un fichier déjà traité, un fichier ne correspondant pas au chemin ou un événement d’un autre type sera ignoré. Il est impossible de démarrer l’ingestion à partir d’un fichier précis ou d’un moment donné : ClickPipes chargera toujours tous les fichiers du chemin sélectionné.
Correspondance des motifs de fichiers
data-2024-*.csv plutôt que *.csv).
Motifs pris en charge
| Motif | Description | Exemple | Correspondances |
|---|---|---|---|
? | Correspond à exactement un caractère (hors /) | data-?.csv | data-1.csv, data-a.csv, data-x.csv |
* | Correspond à zéro, un ou plusieurs caractères (hors /) | data-*.csv | data-1.csv, data-001.csv, data-report.csv, data-.csv |
** Récursif | Correspond à zéro, un ou plusieurs caractères (y compris /). Permet de parcourir les répertoires de manière récursive. | logs/**/error.log | logs/error.log, logs/2024/error.log, logs/2024/01/error.log |
https://bucket.s3.amazonaws.com/folder/*.csvhttps://bucket.s3.amazonaws.com/logs/**/data.jsonhttps://bucket.s3.amazonaws.com/file-?.parquethttps://bucket.s3.amazonaws.com/data-2024-*.csv.gz
Motifs non pris en charge
| Motif | Description | Exemple | Alternatives |
|---|---|---|---|
{abc,def} | Expansion d’accolades (alternatives) | {logs,data}/file.csv | Créez des ClickPipes distincts pour chaque chemin. |
{N..M} | Expansion de plage numérique | file-{1..100}.csv | Utilisez file-*.csv ou file-?.csv. |
https://bucket.s3.amazonaws.com/{documents-01,documents-02}.jsonhttps://bucket.s3.amazonaws.com/file-{1..100}.csvhttps://bucket.s3.amazonaws.com/{logs,metrics}/data.parquet
Sémantique d’« exactly-once »
Colonnes virtuelles
_file dans la liste de mappage des colonnes. La colonne virtuelle _file contient le nom de fichier de l’objet source, ce qui permet de savoir quels fichiers ont été traités.
Contrôle d’accès
Autorisations
GCS bucket
storage.objects.list et `storage.objects.get, qui permettent à ClickPipes de répertorier et de récupérer les objets dans le bucket spécifié.
Abonnement Pub/Sub
roles/pubsub.subscriber— pour recevoir les messages et en accuser réception.roles/pubsub.viewer— pour obtenir les métadonnées de l’abonnement.
Authentification
Compte de service
Identifiants HMAC
Credentials sous Méthode d’authentification lors de la configuration de votre connexion ClickPipe. Renseignez ensuite la clé d’accès (par exemple, GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA) et la clé secrète (par exemple, bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ) dans Access key et Secret key, respectivement.
Suivez ce guide pour créer un compte de service avec une clé HMAC.
Accès réseau
-
Pour le contrôle d’accès par adresse IP, les règles de filtrage IP de votre bucket GCS doivent autoriser les IP statiques de la région du service ClickPipes indiquées ici, ainsi que les IP statiques du service ClickHouse Cloud. Pour obtenir les IP statiques de votre région ClickHouse Cloud, ouvrez un terminal et exécutez :
Paramètres avancés
| Paramètre | Valeur par défaut | Description |
|---|---|---|
Max insert bytes | 10GB | Nombre d’octets à traiter dans un seul lot d’insertion. |
Max file count | 100 | Nombre maximal de fichiers à traiter dans un seul lot d’insertion. |
Max threads | auto(3) | Nombre maximal de threads concurrents pour le traitement des fichiers. |
Max insert threads | 1 | Nombre maximal de threads d’insertion concurrents pour le traitement des fichiers. |
Min insert block size bytes | 1GB | Taille minimale en octets du bloc pouvant être inséré dans une table. |
Max download threads | 4 | Nombre maximal de threads de téléchargement concurrents. |
Object storage polling interval | 30s | Configure le délai d’attente maximal avant l’insertion des données dans le cluster ClickHouse. |
Parallel distributed insert select | 2 | Paramètre parallel distributed insert select. |
Parallel view processing | false | Indique s’il faut activer l’envoi vers les vues attachées de manière concurrente plutôt que séquentielle. |
Use cluster function | true | Indique s’il faut traiter les fichiers en parallèle sur plusieurs nœuds. |
Mise à l’échelle
Limitations connues
Taille du fichier
Compatibilité
https://storage.googleapis.com/ (au lieu de gs://) ainsi que des clés HMAC pour l’authentification.