Vous pouvez vous inscrire sur la liste d’attente de l’aperçu privé ici.
Le ClickPipe BigQuery offre un moyen entièrement géré et résilient d’ingérer des données depuis BigQuery dans ClickHouse Cloud. En aperçu privé, il prend en charge la méthode de réplication par chargement initial pour vous aider à charger en masse des jeux de données BigQuery à des fins d’exploration et de prototypage. La CDC sera prise en charge ultérieurement — d’ici là, nous vous recommandons d’utiliser le ClickPipe Google Cloud Storage pour synchroniser en continu les exportations de données BigQuery vers ClickHouse Cloud une fois le chargement initial terminé.
Les ClickPipes BigQuery peuvent être déployés et gérés manuellement via l’interface utilisateur de ClickPipes, ainsi que par programmation avec OpenAPI et Terraform.
Le ClickPipe BigQuery chargera les tables sélectionnées d’un dataset BigQuery dans les tables de destination ClickHouse en une seule opération par lot. Une fois la tâche d’ingestion terminée, le ClickPipe s’arrête automatiquement. Le processus d’ingestion du chargement initial nécessite un bucket Google Cloud Storage (GCS) fourni par l’utilisateur comme zone de transit. À l’avenir, le bucket intermédiaire sera fourni et géré par ClickPipes.
ClickPipes s’appuie sur des jobs d’extraction par lot pour récupérer les données de BigQuery vers le bucket GCS de transit. Cette opération n’entraîne aucun frais de traitement dans BigQuery.
CDC (capture des changements de données)
Le CDC n’est pas pris en charge en Private Preview, mais le sera à l’avenir. En attendant, nous recommandons d’utiliser le Google Cloud Storage ClickPipe pour synchroniser en continu dans ClickHouse Cloud les exportations de données BigQuery une fois le chargement initial terminé.
Correspondance des types de données
Types de données BigQuery.
| Type de données BigQuery | Type de données ClickHouse | Détails |
|---|
BOOL | Bool | |
INT64 | Int64 | |
FLOAT64 | Float64 | |
NUMERIC | Decimal(P, S) | Précision jusqu’à 38, avec jusqu’à 9 chiffres après la virgule. La précision et l’échelle sont conservées. |
BIGNUMERIC | Decimal(P, S) | Précision jusqu’à 76, avec jusqu’à 38 chiffres après la virgule. La précision et l’échelle sont conservées. |
STRING | String | |
BYTES | String | |
JSON | String (JSON) | |
DATE | Date | |
TIME | String | Précision à la microseconde. |
DATETIME | DateTime | Précision à la microseconde. |
TIMESTAMP | DateTime64(6) | Précision à la microseconde. |
GEOGRAPHY | String | |
GEOMETRY | String | |
UUID | String | |
ARRAY<T> | Array(T) | |
ARRAY<DATE> | Array(Date) | |
STRUCT (RECORD) | String | |
Identifiants du compte de service
ClickPipes s’authentifie sur votre projet Google Cloud à l’aide d’une clé de compte de service. Nous recommandons de créer un compte de service dédié avec le minimum d’autorisations nécessaires pour permettre à ClickPipes d’exporter les données depuis BigQuery, de les charger dans le bucket GCS de staging, puis de les importer dans ClickHouse.
Le compte de service doit disposer des rôles BigQuery suivants :
Pour restreindre encore davantage l’accès, nous recommandons d’utiliser des conditions IAM afin de limiter les ressources auxquelles le rôle peut accéder. Par exemple, vous pouvez restreindre le rôle dataViewer au dataset spécifique qui contient les tables que vous souhaitez synchroniser :
resource.name.startsWith("projects/<PROJECT_ID>/datasets/<DATASET_NAME>")
Le compte de service doit disposer des rôles Cloud Storage suivants :
Pour restreindre davantage l’accès, nous recommandons d’utiliser des conditions IAM afin de limiter les ressources auxquelles ces rôles peuvent accéder. Par exemple, vous pouvez limiter les rôles objectAdmin et bucketViewer au bucket dédié créé pour les synchronisations ClickPipes.
resource.name.startsWith("projects/_/buckets/<BUCKET_NAME>")