Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Disponível no Databricks Runtime 14.1 e versões posteriores, o rastreamento de linhas atribui IDs de linha estáveis e versões de confirmação da linha a cada linha, permitindo o rastreamento de linhagem em nível de linha. Algumas atualizações incrementais para exibições materializadas exigem esse recurso.
Todas as tabelas do Apache Iceberg v3 incluem o rastreamento de linhas. Consulte Usar recursos do Apache Iceberg v3. Para tabelas Delta Lake, você deve habilitar explicitamente o rastreamento de linhas.
Note
Habilitar o rastreamento de linhas atualiza o protocolo de gravação da tabela e pode afetar a compatibilidade com clientes externos do Delta Lake. Consulte a compatibilidade de recursos e protocolos do Delta Lake.
Habilitar o rastreamento de linhas nas tabelas do Delta Lake
Para habilitar o acompanhamento de linhas em uma tabela Delta Lake, defina a propriedade delta.enableRowTracking = true da tabela durante a criação da tabela:
CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;
Para ativar o rastreamento de linhas em uma tabela Delta Lake existente, use o seguinte exemplo:
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = true);
Importante
A habilitação do rastreamento de linhas em tabelas existentes atribui automaticamente IDs de linha e versões de confirmação de linha a todas as linhas existentes na tabela. Esse processo pode resultar na criação de várias novas versões da tabela e levar um tempo significativo para ser concluído.
A clonagem de uma tabela cria um histórico separado, para que as IDs de linha e as versões de confirmação de linha em tabelas clonadas não correspondam às da tabela original.
Campos de metadados
O acompanhamento de linhas adiciona dois campos de metadados ocultos à tabela. Você pode adicionar explicitamente esses campos à consulta para retornar os valores.
| Nome da coluna | Tipo | Values | Explanation |
|---|---|---|---|
_metadata.row_id |
Long | O identificador exclusivo da linha. | Uma linha mantém a mesma ID sempre que é modificada com uma instrução MERGE ou UPDATE. |
_metadata.row_commit_version |
Long | A versão do log Delta ou da tabela na qual a linha foi inserida ou atualizada pela última vez. | Uma linha recebe uma nova versão sempre que é modificada com uma instrução MERGE ou UPDATE. |
Algumas operações armazenam esses campos de metadados usando o log de transações. A execução das operações OPTIMIZE ou REORG em uma tabela com o acompanhamento de linhas habilitado reescreve os arquivos de dados para armazenar esses campos.
Desativar o rastreamento de linhas em tabelas do Delta Lake
Para desativar o acompanhamento de linhas em uma tabela Delta Lake, defina a propriedade da tabela como false.
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = false);
Importante
Desabilitar o acompanhamento de linhas não remove o recurso de tabela correspondente e não reduz a versão do protocolo de tabela. Ele também não remove os campos de metadados da tabela de destino. Para remover totalmente a funcionalidade de tabela e rebaixar o protocolo, use DROP FEATURE. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.
Depois de desativar o acompanhamento de linhas, as IDs de linha geradas não são mais confiáveis para acompanhar linhas exclusivas.
Limitations
Os campos de metadados de IDs de linha e versões de confirmação de linha não podem ser acessados durante a leitura do feed de dados de alteração. Consulte Usar o feed de dados de alteração no Azure Databricks.