Referência de propriedades da tabela
Delta Lake e Apache Iceberg usam propriedades da tabela para controlar o comportamento e os recursos da tabela. Essas propriedades podem apresentar significados específicos e afetar comportamentos quando definidas.
Todas as operações que definem ou atualizam propriedades de tabela entram em conflito com outras operações de gravação concorrentes, fazendo com que falhem. Databricks recomenda modificar uma propriedade da tabela apenas quando não houver operações de gravação concorrentes na tabela.
Modificar propriedades da tabela
Para alterar as propriedades de tabelas existentes, use SET TBLPROPERTIES.
Formatos Delta e Iceberg
Delta Lake e tabelas Apache Iceberg compartilham os mesmos nomes de propriedade de tabela, mas requerem prefixos diferentes:
- Tabelas Delta Lake : Use o prefixo
delta. - Tabelas Iceberg : Utilize o prefixo
iceberg.
Por exemplo, para ativar vetores de exclusão em uma tabela:
- Delta Lake table
- Iceberg table
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('iceberg.enableDeletionVectors' = true);
Propriedades da tabela e propriedades do SparkSession
Cada tabela possui suas próprias propriedades da tabela que controlam o seu comportamento. Algumas configurações do SparkSession sempre substituem as propriedades da tabela. Por exemplo, autoCompact.enabled e optimizeWrite.enabled ativam a compactação automática e gravações otimizadas no nível do SparkSession. A Databricks recomenda o uso de configurações com escopo de tabela para a maioria das cargas de trabalho.
Você pode definir valores padrão para novas tabelas usando as configurações do SparkSession. Essas configurações default aplicam-se apenas a novas tabelas e não afetam as propriedades de tabelas existentes. As configurações do SparkSession usam um prefixo diferente das propriedades da tabela, conforme mostrado na tabela a seguir:
Propriedade da tabela | Configuração do SparkSession |
|---|---|
|
|
Por exemplo, para definir a propriedade appendOnly = true para todas as novas tabelas criadas em uma sessão, defina o seguinte:
- Delta Lake table
- Iceberg table
SET spark.databricks.delta.properties.defaults.appendOnly = true
SET spark.databricks.iceberg.properties.defaults.appendOnly = true
Propriedades da tabela
A maioria das propriedades de tabela a seguir estão disponíveis para tabelas Delta Lake e Apache Iceberg, exceto onde indicado. Use o prefixo delta. para tabelas Delta Lake e o prefixo iceberg. para tabelas Iceberg.
Propriedade | Descrição |
|---|---|
|
Consulte Gravações otimizadas. Tipo de dados: Default: (nenhum) |
| O número de colunas nas quais coletar estatísticas para a omissão de dados. Um valor de Consulte Ignorando dados. Tipo de dados: default: |
| Uma lista separada por vírgulas de nomes de colunas para coletar estatísticas e aprimorar a funcionalidade de salto de dados. Esta propriedade tem precedência sobre Consulte Ignorando dados. Tipo de dados: Default: (nenhum) |
| A menor duração para manter arquivos de dados excluídos logicamente antes de excluí-los fisicamente. Isso evita falhas em leitores defasados após compactações ou substituições de partição. O Databricks recomenda o valor default de 7 dias ou superior. Se o seu período de retenção for muito curto, jobs de longa duração poderão ter seus arquivos não confirmados excluídos antes que o job seja concluído. Consulte Configurar a retenção de dados para consultas de viagem do tempo. Tipo de dados: default: |
|
Consulte Vetores de exclusão no Databricks e Ativar vetores de exclusão. Tipo de dados: Default: Depende das configurações do administrador do workspace e da versão do Databricks Runtime. Consulte Ative automaticamente vetores de exclusão. |
| Por quanto tempo o histórico de uma tabela é mantido. Databricks limpa automaticamente os registros de log mais antigos que o intervalo de retenção cada vez que um ponto de verificação é gravado. Definir esta propriedade com um valor elevado mantém muitas entradas de log. Isso não impacta o desempenho porque as operações no log são de tempo constante. Operações na história são paralelas, mas se tornam mais caras à medida que o tamanho do log aumenta. Consulte Configurar a retenção de dados para consultas de viagem do tempo. Tipo de dados: default: |
| A versão mínima do leitor de protocolo necessária para ler desta tabela. A Databricks não recomenda configurar manualmente essa propriedade. Consulte a compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: default: |
| A versão mínima necessária do protocolo de gravação para gravar nesta tabela. A Databricks não recomenda configurar manualmente essa propriedade. Consulte a compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: default: |
| A versão do formato de tabela Iceberg. A Databricks não recomenda configurar manualmente essa propriedade. Veja Usar recursos v3 do Apache Iceberg. Tipo de dados: default: |
|
Tipo de dados: default: |
| O tamanho do arquivo de destino em bytes ou unidades superiores para ajuste de arquivo. Por exemplo, Consulte Controlar o tamanho do arquivo de dados. Tipo de dados: Default: (nenhum) |
| O codec de compressão de uma tabela. Valores válidos: Esta propriedade garante que todas as futuras gravações na tabela usem o codec escolhido, substituindo o default do cluster ou da sessão ( Tipo de dados: default: |
| A versão do formato Parquet usada ao escrever arquivos de dados. A especificação de Os valores válidos são Esta propriedade é apenas para tabelas do Delta Lake. Não defina esta propriedade para tabelas Iceberg, UniForm ou tabelas que são acessadas por mecanismos que não são do Databricks Runtime. Tipo de dados: default: |
|
Tipo de dados: default: |
| Combina automaticamente arquivos pequenos nas partições da tabela para reduzir os problemas com arquivos pequenos. Aceita Consulte Compactação automática. Tipo de dados: Default: (nenhum) |
|
Tipo de dados: default: |
|
Tipo de dados: default: |
|
Consulte Ponto de verificação v2 e Compatibilidade para tabelas com clustering líquido. Tipo de dados: default: |
| Habilita o mapeamento de coluna para colunas de tabela e as colunas Parquet correspondentes que utilizam nomes diferentes. Os valores válidos são Consulte Renomear e eliminar colunas com o mapeamento de colunas do Delta Lake. Observação: Ativar Tipo de dados: default: |
|
Tipo de dados: default: |
|
Veja o uso do feed de dados de alteração. Tipo de dados: default: |
|
Consulte Ampliação de tipo. Tipo de dados: default: |
| O grau em que uma transação deve ser isolada de modificações feitas por transações concorrentes. Valores válidos são Consulte Níveis de isolamento (serializável por gravação e serializável). Tipo de dados: default: |
| O número de caracteres a serem gerados para prefixos aleatórios quando Tipo de dados: default: |
| A menor duração dentro da qual novos Snapshots retêm identificadores de transação (por exemplo, Tipo de dados: Default: (nenhum) |