Trabaja con el historial de cambios
El historial de cambios de BigQuery te permite hacer un seguimiento del historial de cambios de una tabla de BigQuery. Puedes usar las funciones de GoogleSQL para ver tipos específicos de cambios realizados durante un intervalo de tiempo específico, de modo que puedas procesar cambios incrementales en una tabla. Comprender los cambios que se realizaron en una tabla puede ayudarte a mantener una réplica de la tabla fuera de BigQuery y, a su vez, evitar las copias costosas.
Permisos necesarios
Para ver el historial de cambios en una tabla, necesitas el permiso bigquery.tables.getData
en esa tabla. Las siguientes funciones predefinidas de la administración de identidades y accesos (IAM) incluyen este permiso:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Si una tabla tiene o tuvo políticas de acceso a nivel de fila, solo un administrador de tabla puede acceder a los datos históricos de la tabla. El permiso bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
es obligatorio en la tabla y se incluye en la función de IAM predefinida roles/bigquery.admin
.
Si una tabla tiene seguridad a nivel de columnas, solo puedes ver el historial de cambios en las columnas a las que tienes acceso.
Funciones del historial de cambios
Puedes usar las siguientes funciones para comprender el historial de cambios de una tabla:
APPENDS
: Muestra todas las filas agregadas a una tabla para un intervalo de tiempo determinado.Las siguientes operaciones agregan filas al historial de cambios
APPENDS
:CHANGES
: Muestra todas las filas que cambiaron en una tabla durante un intervalo de tiempo determinado. Para usar la funciónCHANGES
en una tabla, debes configurar la opciónenable_change_history
de la tabla comoTRUE
.Las siguientes operaciones agregan filas al historial de cambios
CHANGES
:- Declaración DDL
CREATE TABLE
- Declaración DML
INSERT
- Datos agregados o modificados como parte de una declaración DML
MERGE
- Declaración DML
UPDATE
- Declaración DML
DELETE
- Cargar datos en BigQuery
- Transferencia de transmisión
- Declaración DML
TRUNCATE TABLE
- Trabajos configurados con un
writeDisposition
deWRITE_TRUNCATE
- Eliminaciones de particiones de tablas individuales
- Declaración DDL
Precios y costos
Llamar a funciones del historial de cambios genera costos de procesamiento de BigQuery.
Cuando configuras la opción enable_change_history
en una tabla como TRUE
para usar la función CHANGES
, BigQuery almacena los metadatos de cambios de tabla. Estos metadatos almacenados generan costos de almacenamiento de BigQuery. El importe facturado depende de la cantidad y el tipo de cambios realizados en la tabla y, por lo general, es pequeño. Las tablas que tienen muchas operaciones de cambio, en especial las eliminaciones grandes, son las más propensas a incurrir en costos notables.