Configura tablas de Apache Iceberg en BigQuery

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 datos STRING.
  • SOURCE_TIMESTAMP: Este campo tiene el tipo de datos INTEGER.
  • CHANGE_SEQUENCE_NUMBER: Este campo tiene el tipo de datos STRING. Es un número de secuencia interno que Datastream usa para cada evento de cambio.
  • CHANGE_TYPE: Este campo tiene el tipo de datos STRING. Indica el tipo del evento de cambio. Para el modo de escritura de solo anexar, el valor es INSERT.
  • SORT_KEYS: Este campo contiene un array de valores STRING. 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:

  1. Crea un bucket de Cloud Storage en el que quieras almacenar tus datos.
  2. 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.
  3. Obtén el identificador de la cuenta de servicio de conexión:

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. Otó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.admin a 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.admin
    
  5. Crea 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 CLI o Terraform, consulta Administra transmisiones con la API.

¿Qué sigue?