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.
O Delta Lake reserva propriedades da tabela Delta começando com delta.. Essas propriedades podem ter significados específicos e afetam comportamentos quando são definidas.
Observação
Todas as operações que definem ou atualizam as propriedades da tabela entram em conflito com outras operações de gravação simultâneas, fazendo com que elas falhem. O Databricks recomenda que você modifique uma propriedade de tabela somente quando não houver nenhuma operação de gravação simultânea na tabela.
Como as propriedades da tabela interagem com as propriedades do SparkSession?
As propriedades da tabela Delta são definidas por tabela. Se uma propriedade for definida em uma tabela, essa será a configuração a ser seguida por padrão.
Algumas propriedades da tabela associaram configurações do SparkSession, que sempre têm precedência sobre as propriedades da tabela. Alguns exemplos incluem as configurações spark.databricks.delta.autoCompact.enabled e spark.databricks.delta.optimizeWrite.enabled, que ativam a compactação automática e as gravações otimizadas no nível do SparkSession em vez de fazê-lo no nível da tabela. O Databricks recomenda usar configurações com escopo de tabela para a maioria das cargas de trabalho.
Para cada propriedade de tabela Delta, você pode definir um valor padrão para tabelas novas usando uma configuração do SparkSession que substitui o padrão incorporado. Essa configuração afeta apenas as tabelas novas e não supera nem substitui as propriedades definidas em tabelas existentes. O prefixo usado no SparkSession é diferente das configurações usadas nas propriedades da tabela, conforme mostrado na tabela a seguir:
| Configuração do Delta Lake | Configuração do SparkSession |
|---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
Por exemplo, para definir a propriedade delta.appendOnly = true para todas as novas tabelas Delta Lake criadas em uma sessão, defina o seguinte:
SET spark.databricks.delta.properties.defaults.appendOnly = true
Para modificar as propriedades de tabelas existentes, use SET TBLPROPERTIES.
Propriedades da tabela Delta
As propriedades disponíveis da tabela Delta incluem o seguinte:
| Propriedade |
|---|
delta.appendOnlytrue para que essa tabela Delta seja somente acréscimo. Se ela for somente acréscimo, os registros existentes não poderão ser excluídos e os valores existentes não poderão ser atualizados.Confira Referência de propriedades da tabela Delta. Tipo de dados: BooleanPadrão: false |
delta.autoOptimize.autoCompactauto para o Delta Lake otimizar automaticamente o layout dos arquivos para esta tabela Delta.Confira Compactação automática do Delta Lake no Azure Databricks. Tipo de dados: BooleanPadrão: (nenhum) |
delta.autoOptimize.optimizeWritetrue para o Delta Lake otimizar automaticamente o layout dos arquivos para esta tabela Delta durante gravações.Consulte Gravações otimizadas do Delta Lake no Azure Databricks. Tipo de dados: BooleanPadrão: (nenhum) |
delta.checkpoint.writeStatsAsJsontrue para o Delta Lake gravar estatísticas de arquivo em pontos de verificação no formato JSON para a coluna stats.Tipo de dados: BooleanPadrão: true |
delta.checkpoint.writeStatsAsStructtrue para o Delta Lake gravar estatísticas de arquivo em pontos de verificação no formato struct para a coluna stats_parsed e gravar valores de partição como um struct para partitionValues_parsed.Tipo de dados: BooleanPadrão: true |
delta.checkpointPolicyclassic para pontos de verificação clássicos do Delta Lake.
v2 para pontos de verificação v2.Consulte Compatibilidade de tabelas com clustering líquido. Tipo de dados: StringPadrão: classic |
delta.columnMapping.modeSe o mapeamento de coluna está habilitado para colunas de tabela Delta e as colunas Parquet correspondentes que usam nomes diferentes. Confira Renomear e remover colunas usando o mapeamento de colunas do Delta Lake. Observação: habilitar o delta.columnMapping.mode automaticamente habilitadelta.randomizeFilePrefixes.Tipo de dados: DeltaColumnMappingModePadrão: none |
delta.dataSkippingNumIndexedColsO número de colunas para o Delta Lake coletar estatísticas sobre omissão de dados. Um valor de -1 significa coletar estatísticas para todas as colunas.Consulte Ignorar dados no Delta Lake. Tipo de dados: IntPadrão: 32 |
delta.dataSkippingStatsColumnsUma lista separada por vírgulas de nomes de colunas na qual o Delta Lake coleta estatísticas para aprimorar a funcionalidade de ignorar dados. Essa propriedade tem precedência sobre delta.dataSkippingNumIndexedCols.Consulte Ignorar dados no Delta Lake. Tipo de dados: StringPadrão: (nenhum) |
delta.deletedFileRetentionDurationA duração mais curta para o Delta Lake manter arquivos de dados excluídos logicamente antes de excluí-los fisicamente. Isso é para evitar falhas em leitores obsoletos após compactações ou substituições de partição. Esse valor deve ser grande o suficiente para garantir que:
Consulte Configurar retenção de dados para consultas de viagem no tempo Tipo de dados: CalendarIntervalPadrão: interval 1 week |
delta.enableChangeDataFeedtrue para habilitar o feed de dados de alterações.Confira Habilitar o feed de dados de alterações. Tipo de dados: BooleanPadrão: false |
delta.enableDeletionVectorstrue para habilitar vetores de exclusão e E/S preditiva para atualizações.Confira O que são vetores de exclusão? Tipo de dados: BooleanPadrão: depende das configurações do administrador do workspace e da versão do Databricks Runtime. Consulte Habilitar automaticamente os vetores de exclusão |
delta.enableTypeWideningtrue para habilitar a ampliação de tipo.Confira Ampliação de tipo. Tipo de dados: BooleanPadrão: false |
delta.isolationLevelO grau em que uma transação deve ser isolada das modificações feitas por transações simultâneas. Os valores válidos são Serializable e WriteSerializable.Consulte Níveis de isolamento e conflitos de gravação no Azure Databricks. Tipo de dados: StringPadrão: WriteSerializable |
delta.logRetentionDurationPor quanto tempo o histórico de uma tabela é mantido. As operações VACUUM substituem esse limite de retenção.Sempre que um ponto de verificação é gravado, o Delta LAke limpa automaticamente as entradas de log mais antigas que o intervalo de retenção. Se você definir essa propriedade como um valor grande o suficiente, muitas entradas de log serão mantidas. Isso não deve afetar o desempenho, pois as operações no log são tempo constante. As operações no histórico são paralelas, mas se tornarão mais caras à medida que o tamanho do log aumentar. Consulte Configurar retenção de dados para consultas de viagem no tempo Tipo de dados: CalendarIntervalPadrão: interval 30 days |
delta.minReaderVersionA versão mínima do leitor de protocolo necessária para um leitor que permite ler desta tabela Delta. O Databricks recomenda não configurar manualmente essa propriedade. Consulte a compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: IntPadrão: 1 |
delta.minWriterVersionA versão mínima do gravador de protocolo necessária para um gravador que permite gravar nesta tabela Delta. O Databricks recomenda não configurar manualmente essa propriedade. Consulte a compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: IntPadrão: 2 |
delta.randomizeFilePrefixestrue para o Delta Lake gerar um prefixo aleatório para um caminho de arquivo em vez de informações de partição.Tipo de dados: BooleanPadrão: false |
delta.randomPrefixLengthQuando delta.randomizeFilePrefixes é definido como true, o número de caracteres que o Delta Lake gera para prefixos aleatórios.Tipo de dados: IntPadrão: 2 |
delta.setTransactionRetentionDurationA duração mais curta em que os novos instantâneos manterão identificadores de transação (por exemplo, SetTransactions). Quando um novo instantâneo detecta um identificador de transação mais antigo ou igual à duração especificada por essa propriedade, o instantâneo o considera expirado e o ignora. O identificador SetTransaction é usado ao tornar as gravações idempotentes. Confira as gravações foreachBatchda tabela Idempotent para obter detalhes.Tipo de dados: CalendarIntervalPadrão: (nenhum) |
delta.targetFileSizeO tamanho do arquivo de destino em bytes ou unidades mais altas para ajuste de arquivo. Por exemplo, 104857600 (bytes) ou 100mb.Confira Configurar o Delta Lake para controlar o tamanho do arquivo de dados. Tipo de dados: StringPadrão: (nenhum) |
delta.tuneFileSizesForRewritestrue para usar sempre os tamanhos de arquivo mais baixos em todas as operações de otimização de layout de dados na tabela Delta.false para nunca ajustar para tamanhos de arquivo mais baixos, ou seja, para impedir que a detecção automática seja ativada.Confira Configurar o Delta Lake para controlar o tamanho do arquivo de dados. Tipo de dados: BooleanPadrão: (nenhum) |
delta.parquet.compression.codec (Disponível no Databricks Runtime 16.0 e posterior.)O codec de compressão de uma tabela Delta. ZSTD para utilizar a compactação Zstandard (Zstd) em uma tabela Delta.SNAPPY para usar a compressão Snappy em uma tabela Delta.
Tipo de dados: StringPadrão: ZSTD |