Datastream te permite replicar datos de tus fuentes en tablas de Apache Iceberg en BigQuery. Las tablas de Apache Iceberg proporcionan la misma experiencia completamente administrada que las tablas estándar de BigQuery, mientras almacenan datos en formato Parquet dentro de tus propios buckets de Cloud Storage. Esta configuración te permite consultar y analizar tus datos con BigQuery mientras conservas el control total sobre el almacenamiento subyacente.
Datastream admite la transmisión a tablas de Apache Iceberg solo en el modo de escritura de solo agregado. Para obtener más información, consulta Configura el modo de escritura.
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 Datastream usa para cada evento de cambio.CHANGE_TYPE: Este campo tiene el tipo de datosSTRING. Indica el tipo del evento de cambio. Para el modo de escritura de solo anexar, 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, sigue estos pasos:
- Crea un bucket de Cloud Storage en el que quieras almacenar tus datos.
- Crear una conexión a recursos de Cloud en BigQuery Para obtener información sobre cómo crear este tipo de conexión, consulta Crea y configura una conexión a recursos 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 a 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 consola de Google Cloud , 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 aprender a 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.