Trabalhar com o histórico de alterações
O histórico de alterações do BigQuery permite rastrear o histórico de alterações em uma tabela do BigQuery. Você pode usar as funções do GoogleSQL para ver tipos específicos de alterações feitas durante um período específico. Dessa forma, é possível processar alterações incrementais feitas em uma tabela. Entender quais alterações foram feitas em uma tabela pode ajudar você a realizar tarefas como manter uma réplica de tabela fora do BigQuery e evitar cópias caras.
Permissões necessárias
Para ver o histórico de alterações em uma tabela, é necessário ter a permissão bigquery.tables.getData nela. Os seguintes papéis predefinidos do Identity and Access Management (IAM)
incluem essa permissão:
roles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.admin
Se uma tabela tiver ou teve
políticas de acesso no nível da linha, somente um
administrador poderá acessar os dados históricos da tabela. A permissão bigquery.rowAccessPolicies.overrideTimeTravelRestrictions é necessária na tabela e está incluída no papel predefinido do IAM roles/bigquery.admin.
Se uma tabela tiver segurança no nível da coluna, só será possível ver o histórico de alterações nas colunas a que você tem acesso.
Funções do histórico de alterações
É possível usar as seguintes funções para entender o histórico de alterações de uma tabela:
APPENDS: retorna todas as linhas anexadas a uma tabela para um determinado período.As seguintes operações adicionam linhas ao histórico de alterações
APPENDS:CHANGES: retorna todas as linhas que foram alteradas em uma tabela para um determinado período. Para usar a funçãoCHANGESem uma tabela, você precisa definir a opçãoenable_change_historyda tabela comoTRUE.As seguintes operações adicionam linhas ao histórico de alterações
CHANGES:- Instrução DDL
CREATE TABLE - Instrução DML
INSERT - Dados anexados ou alterados como parte de uma instrução DML
MERGE - Instrução DML
UPDATE - Instrução DML
DELETE - Como carregar dados no BigQuery
- Ingestão de streaming
- Instrução DML
TRUNCATE TABLE - Jobs configurados com
writeDispositiondeWRITE_TRUNCATE - Exclusões de partições de tabela individuais
- Instrução DDL
Preços e custos
Chamar funções do histórico de alterações
gera custos de computação do BigQuery.
As funções APPENDS e CHANGES exigem o processamento de todos os dados gravados na tabela dentro do período especificado. Esse processamento se aplica a todas as gravações, incluindo operações de adição e mutação.
Definir a opção enable_change_history de uma tabela como FALSE não reduz os dados processados pelo APPENDS.
Quando você define
a opção enable_change_history
em uma tabela como TRUE para usar a função CHANGES,
o BigQuery armazena metadados de alteração de tabela. Esses metadados armazenados
geram custos de armazenamento
e custos de computação adicionais do BigQuery.
O valor faturado depende do número e do tipo de alterações feitas na tabela,
e costuma ser pequeno. Tabelas com muitas operações de mudança, especialmente
exclusões grandes, têm mais chances de incorrer em custos perceptíveis.