Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Delta Lake reserva as propriedades da tabela Delta que começam com delta. Essas propriedades podem ter significados específicos e afetar comportamentos quando essas propriedades são definidas.
Nota
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 operações de gravação simultâneas na tabela.
Como as propriedades da tabela e as propriedades SparkSession interagem?
As propriedades da tabela delta são definidas para cada tabela. Se uma propriedade estiver definida em uma tabela, essa é a configuração seguida por padrão.
Algumas propriedades de tabela têm configurações SparkSession associadas 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 ao nível do SparkSession, em vez de ao nível da tabela. O Databricks recomenda o uso de 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 novas tabelas usando uma configuração SparkSession, substituindo o padrão interno. Essa configuração afeta apenas novas tabelas e não 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:
| Conferência do Delta Lake | Configuração da SparkSession |
|---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
Por exemplo, para definir a delta.appendOnly = true propriedade 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 esta tabela Delta seja somente anexo. Se somente acrescentar, os registros existentes não poderão ser excluídos e os valores existentes não poderão ser atualizados.Consulte Referência de Propriedades da Tabela Delta. Tipo de dados: BooleanPredefinição: false |
delta.autoOptimize.autoCompactauto para que o Delta Lake otimize automaticamente o layout dos ficheiros para esta tabela Delta.Consulte Compactação automática para Delta Lake no Azure Databricks. Tipo de dados: BooleanPadrão: (nenhum) |
delta.autoOptimize.optimizeWritetrue para que o Delta Lake possa otimizar automaticamente o layout dos arquivos para esta tabela Delta durante escritas.Consulte Escritas otimizadas para Delta Lake no Azure Databricks. Tipo de dados: BooleanPadrão: (nenhum) |
delta.checkpoint.writeStatsAsJsontrue para que o Delta Lake escreva estatísticas de arquivo em pontos de verificação no formato JSON para a coluna stats.Tipo de dados: BooleanPredefinição: false |
delta.checkpoint.writeStatsAsStructtrue para Delta Lake gravar estatísticas de arquivo em pontos de verificação no formato de estrutura para a coluna stats_parsed e para gravar valores de partição como uma estrutura para partitionValues_parsed.Tipo de dados: BooleanPredefinição: true |
delta.checkpointPolicyclassic para os postos de controle clássicos do Delta Lake.
v2 para pontos de verificação v2.Consulte Compatibilidade para tabelas com agrupamento líquido. Tipo de dados: StringPredefinição: classic |
delta.columnMapping.modeSe o mapeamento de colunas está activado para as colunas da tabela Delta e as colunas correspondentes do Parquet que utilizam nomes diferentes. Consulte Renomear e eliminar colunas com o mapeamento de colunas do Delta Lake. Nota: Ativar delta.columnMapping.mode ativa automaticamentedelta.randomizeFilePrefixes.Tipo de dados: DeltaColumnMappingModePredefinição: none |
delta.dataSkippingNumIndexedColsO número de colunas para as quais o Delta Lake coleta estatísticas para otimização de leituras dos dados. Um valor de -1 significa recolher estatísticas de todas as colunas.Consulte Omissão de dados para Delta Lake. Tipo de dados: IntPredefinição: 32 |
delta.dataSkippingStatsColumnsUma lista de nomes de colunas, separada por vírgulas, sobre as quais o Delta Lake reúne estatísticas para melhorar a funcionalidade de esquiva de dados. Esta propriedade tem precedência sobre delta.dataSkippingNumIndexedCols.Consulte Omissão de dados para Delta Lake. Tipo de dados: StringPadrão: (nenhum) |
delta.deletedFileRetentionDurationA duração mínima para que o Delta Lake mantenha arquivos de dados logicamente eliminados antes de os eliminar fisicamente. Isso é para evitar falhas em leitores obsoletos após compactações ou substituições de partição. Este valor deve ser suficientemente grande para garantir que:
Consulte Configurar retenção de dados para consultas de viagem no tempo. Tipo de dados: CalendarIntervalPredefinição: interval 1 week |
delta.enableChangeDataFeedtrue para ativar o feed de dados de alteração.Consulte Ativar feed de dados de mudança. Tipo de dados: BooleanPredefinição: false |
delta.enableDeletionVectorstrue para habilitar exclusão de vetores e I/O preditivo para atualizações.Consulte O que são vetores de exclusão?. Tipo de dados: BooleanPadrão: depende das configurações de administração do espaço de trabalho e da versão do Databricks Runtime. Consulte Vetores de eliminação com ativação automática |
delta.enableTypeWideningtrue para permitir a ampliação de tipos.Consulte Alargamento de tipos. Tipo de dados: BooleanPredefiniçã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: StringPredefinição: WriteSerializable |
delta.logRetentionDurationPor quanto tempo o histórico de uma tabela Delta é mantido. VACUUM as operações sobrepõem-se a este limite de retenção.Cada vez que um ponto de verificação é gravado, o Delta Lake limpa automaticamente as entradas de log que ultrapassam o intervalo de retenção. Se você definir essa propriedade para um valor grande o suficiente, muitas entradas de log serão mantidas. Isso não deve afetar o desempenho, pois as operações no registo são de tempo constante. As operações no histórico são paralelas, mas se tornarão mais caras à medida que o tamanho do registro aumentar. Consulte Configurar retenção de dados para consultas de viagem no tempo. Tipo de dados: CalendarIntervalPredefinição: interval 30 days |
delta.minReaderVersionA versão mínima necessária do leitor de protocolo para um leitor que permite ler a partir desta tabela Delta. O Databricks recomenda não configurar manualmente essa propriedade. Consulte Compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: IntPredefinição: 1 |
delta.minWriterVersionA versão mínima necessária do escritor de protocolo para permitir a escrita nesta tabela Delta. O Databricks recomenda não configurar manualmente essa propriedade. Consulte Compatibilidade de recursos e protocolos do Delta Lake. Tipo de dados: IntPredefinição: 2 |
delta.randomizeFilePrefixestrue para Delta Lake para gerar um prefixo aleatório para um caminho de arquivo em vez de informações de partição.Tipo de dados: BooleanPredefinição: false |
delta.randomPrefixLengthQuando delta.randomizeFilePrefixes é definido como true, o número de caracteres que Delta Lake gera para prefixos aleatórios.Tipo de dados: IntPredefinição: 2 |
delta.setTransactionRetentionDurationA duração mais curta dentro da qual os novos instantâneos reterão identificadores de transação (por exemplo, SetTransactions). Quando um novo instantâneo vê 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 é utilizado para tornar as escritas idempotentes. Veja detalhes sobre gravações idempotentes na tabela em foreachBatch.Tipo de dados: CalendarIntervalPadrão: (nenhum) |
delta.targetFileSizeO tamanho do arquivo de destino em bytes ou unidades superiores para ajuste de arquivo. Por exemplo 104857600 (bytes) ou 100mb.Consulte Configurar o Delta Lake para controlar o tamanho do arquivo de dados. Tipo de dados: StringPadrão: (nenhum) |
delta.tuneFileSizesForRewritestrue para sempre usar tamanhos de arquivo mais baixos para todas as operações de otimização de layout de dados na tabela Delta.false para nunca ajustar para tamanhos de ficheiro menores, ou seja, para impedir a ativação da deteção automática.Consulte 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 para uma tabela Delta. ZSTD para usar a compressão Zstandard (Zstd) numa tabela Delta.SNAPPY para usar a compactação Snappy numa tabela Delta.
Tipo de dados: StringPredefinição: ZSTD |