En esta página, se describe cómo configurar Datastream para la replicación en tablas de Apache Iceberg en BigQuery.
Las tablas de Apache Iceberg ofrecen la misma experiencia completamente administrada que las tablas estándar de BigQuery, pero almacenan datos en buckets de Cloud Storage que son propiedad del cliente en el formato de tabla Apache Iceberg y el formato de archivo Parquet. Puedes consultar y analizar datos con las capacidades de BigQuery mientras los mantienes en tus propios buckets de almacenamiento.
Metadatos de tabla
Datastream agrega una columna STRUCT llamada datastream_metadata a cada tabla que se escribe en el destino de BigQuery.
La columna datastream_metadata contiene los siguientes campos:
UUID: Este campo tiene el tipo de datosSTRING.SOURCE_TIMESTAMP: Este campo tiene el tipo de datosINTEGER.CHANGE_SEQUENCE_NUMBER: Este campo tiene el tipo de datosSTRING. Es un número de secuencia interno que usa Datastream para cada evento de cambio.CHANGE_TYPE: Este campo tiene el tipo de datosSTRING. Indica el tipo de evento de cambio. Para el modo de escritura de solo agregado, el valor esINSERT.SORT_KEYS: Este campo contiene un array de valoresSTRING. Puedes usar los valores para ordenar los eventos de cambio.
Configura la transmisión a tablas de Apache Iceberg
Para configurar tu transmisión y transferir datos a las tablas de Apache Iceberg, haz lo siguiente:
- Crea un bucket de Cloud Storage en el que desees almacenar tus datos.
- Crea una conexión al recurso de Cloud en BigQuery. Para obtener información sobre cómo crear este tipo de conexión, consulta Crea y configura una conexión al recurso de Cloud.
Obtén el identificador de la cuenta de servicio de conexión:
bq show --location=LOCATION --connection --project_id=PROJECT_ID CONNECTION_NAMEOtórgale acceso a la conexión de recursos de Cloud al bucket de Cloud Storage que creaste. Para ello, agrega el permiso de IAM
storage.admina la cuenta de servicio de conexión:gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \ --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \ --role=roles/storage.adminCrea una transmisión de tablas de Apache Iceberg.
Para obtener información sobre cómo crear una transmisión de tablas de Apache Iceberg con la Google Cloud consola, consulta Crea una transmisión.
Para obtener información sobre cómo crear una solicitud para transmitir datos a tablas de Apache Iceberg con REST,
Google Cloud CLIo Terraform, consulta Administra transmisiones con la API.
¿Qué sigue?
- Para obtener más información sobre las transmisiones, consulta Ciclo de vida de las transmisiones.
- Para obtener información sobre cómo crear una transmisión, consulta Crea una transmisión.
- Para obtener información sobre cómo crear un perfil de conexión que puedas usar con una transmisión de tablas de Apache Iceberg, consulta Crea un perfil de conexión para BigQuery.