Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Intégration de BigQuery avec ClickHouse Cloud

Aperçu privé sur ClickHouse Cloud

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.

Fonctionnalités

Chargement initial

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.

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

Contrôle d’accès

Authentification

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 transit, puis de les importer dans ClickHouse.

Création d'une clé de compte de service avec des autorisations BigQuery et Cloud Storage

Autorisations

BigQuery

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>")

Cloud Storage

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>")
Navigation