Es posible que debas particionar tus tablas de BigQuery en segmentos más pequeños para mejorar el rendimiento de las consultas y controlar los costos. Como Datastream no admite la partición de tablas en BigQuery, debes agregar las particiones de forma manual antes de iniciar tu transmisión. Para obtener información general sobre la partición en BigQuery, consulta Introducción a las tablas particionadas.
Tablas de particiones en BigQuery
Para particionar tus tablas en BigQuery, usa una de las opciones que se describen en las siguientes secciones, según tu caso de uso.
Opción 1: La tabla ya existe en BigQuery y se incluye en una transmisión
- Excluye la tabla de la configuración de la fuente de tu transmisión. Para obtener más información sobre cómo incluir y excluir objetos de la configuración de origen, consulta Configura bases de datos de origen.
- Espera unos minutos para asegurarte de que Datastream haya terminado de procesar todos los eventos de la tabla.
- Crea tu tabla particionada en BigQuery. Si deseas conservar los datos que ya estaban en la tabla original de BigQuery, asígnale un nombre diferente y temporal.
- Copia los datos de la tabla original a la nueva tabla particionada.
- Borra o cambia el nombre de la tabla original.
- Cambia el nombre temporal de la tabla nueva por el nombre de la tabla original.
- Agrega la tabla de origen a la configuración de tu transmisión.
Opción 2: La tabla no existe en BigQuery
Crea la tabla en BigQuery con uno de los siguientes enfoques:
- Usa el BigQuery Migration Toolkit.
Crea manualmente una tabla de BigQuery compatible con Datastream. Por ejemplo, si deseas crear una tabla y particionar los datos según la columna
TIMESTAMP, puedes usar una consulta similar a la siguiente:CREATE TABLE dataset.partitioned_table ( 'id' INT64, 'name' STRING 'update_date' DATETIME, 'datastream_metadata' STRUCT<'uuid' STRING, 'source_timestamp' INT64>, PRIMARY KEY ('id') NOT ENFORCED ) PARTITION BY TIMESTAMP(update_date)
Después de crear la tabla particionada, asegúrate de que su valor de
max_stalenessesté configurado según tus requisitos. Si no estableces el valor, se configura el valor predeterminado de0. Dejar este valor en0garantiza los datos más recientes, pero genera un costo significativo. Para obtener información sobre cómo encontrar el valor óptimo para tu tabla, consulta Usa tablas de BigQuery con la opciónmax_staleness.Agrega la tabla de origen a la configuración de tu transmisión.
De manera opcional, si configuraste el reabastecimiento manual para la transmisión, inicia el reabastecimiento para la tabla.