Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Integración de BigQuery con ClickHouse Cloud

Vista previa privada en ClickHouse Cloud

El ClickPipe de BigQuery ofrece una forma totalmente gestionada y robusta de ingestar datos desde BigQuery en ClickHouse Cloud. En la vista previa privada, admite el método de replicación de carga inicial para ayudarle a cargar de forma masiva datasets de BigQuery para su exploración y creación de prototipos. CDC será compatible en el futuro; mientras tanto, recomendamos usar el ClickPipe de Google Cloud Storage para sincronizar continuamente en ClickHouse Cloud las exportaciones de datos de BigQuery una vez completada la carga inicial.

Los ClickPipes de BigQuery pueden desplegarse y gestionarse manualmente desde la UI de ClickPipes, así como de forma programática mediante OpenAPI y Terraform.

Funciones

Carga inicial

El ClickPipe de BigQuery cargará las tablas seleccionadas de un conjunto de datos de BigQuery en las tablas de destino de ClickHouse en una sola operación por lotes. Una vez completada la tarea de ingestión, el ClickPipe se detiene automáticamente. El proceso de ingestión de la carga inicial requiere un bucket de Google Cloud Storage (GCS) proporcionado por el usuario para staging. En el futuro, el bucket intermedio será proporcionado y administrado por ClickPipes.

CDC (captura de cambios de datos)

CDC no está disponible en la vista previa privada, pero será compatible en el futuro. Mientras tanto, recomendamos usar Google Cloud Storage ClickPipe para sincronizar continuamente las exportaciones de datos de BigQuery con ClickHouse Cloud una vez completada la carga inicial.

Correspondencia de tipos de datos

Tipos de datos de BigQuery.

Tipo de dato de BigQuery Tipo de dato de ClickHouse Detalles
BOOL Bool
INT64 Int64
FLOAT64 Float64
NUMERIC Decimal(P, S) Precisión de hasta 38 y escala de hasta 9. Se conservan la precisión y la escala.
BIGNUMERIC Decimal(P, S) Precisión de hasta 76 y escala de hasta 38. Se conservan la precisión y la escala.
STRING String
BYTES String
JSON String (JSON)
DATE Date
TIME String Precisión de microsegundos.
DATETIME DateTime Precisión de microsegundos.
TIMESTAMP DateTime64(6) Precisión de microsegundos.
GEOGRAPHY String
GEOMETRY String
UUID String
ARRAY<T> Array(T)
ARRAY<DATE> Array(Date)
STRUCT (RECORD) String

Control de acceso

Autenticación

Credenciales de la cuenta de servicio

ClickPipes se autentica en tu proyecto de Google Cloud mediante una clave de cuenta de servicio. Recomendamos crear una cuenta de servicio dedicada con el conjunto mínimo de permisos necesarios para permitir que ClickPipes exporte datos desde BigQuery, los cargue en el bucket de GCS de staging y los lea en ClickHouse.

Creación de una clave de cuenta de servicio con permisos de BigQuery y Cloud Storage

Permisos

BigQuery

La cuenta de servicio debe tener los siguientes roles de BigQuery:

Para acotar aún más el acceso, recomendamos usar condiciones de IAM para restringir los recursos a los que puede acceder el rol. Por ejemplo, puede restringir el rol dataViewer al conjunto de datos específico que contiene las tablas que desea sincronizar:

resource.name.startsWith("projects/<PROJECT_ID>/datasets/<DATASET_NAME>")

Cloud Storage

La cuenta de servicio debe tener los siguientes roles de Cloud Storage:

Para limitar aún más el acceso, recomendamos usar condiciones de IAM para restringir los recursos a los que puede acceder el rol. Por ejemplo, puede restringir los roles objectAdmin y bucketViewer al bucket dedicado creado para las sincronizaciones de ClickPipes.

resource.name.startsWith("projects/_/buckets/<BUCKET_NAME>")
Navigation