Tamanho da tabela no Databricks
O tamanho da tabela relatado para tabelas com backup do Delta Lake no Databricks é diferente do tamanho total dos diretórios de arquivos correspondentes no armazenamento de objetos na nuvem. Este artigo discute por que essa diferença existe e apresenta recomendações para o controle de custos.
Por que o tamanho da minha tabela Delta não corresponde ao tamanho do diretório?
Os tamanhos de tabela informados em Databricks por meio de UIs e DESCRIBE comando referem-se ao tamanho total dos arquivos de dados em disco para os arquivos referenciados na versão atual da tabela Delta. A maioria das operações que gravam em tabelas exige a reescrita de arquivos de dados subjacentes, mas os arquivos de dados antigos são mantidos por um período de tempo para dar suporte às consultas de viagem do tempo.
Se você exclui ou atualiza regularmente registros em tabelas, os vetores de exclusão podem acelerar as consultas e reduzir o tamanho total dos arquivos de dados. Consulte O que são vetores de exclusão? .
Métricas de armazenamento computacional para uma tabela
Aplica-se a: Databricks Runtime 18.0 e acima
Para entender por que o tamanho total do armazenamento difere do tamanho da tabela, use ANALYZE TABLE … COMPUTE STORAGE METRICS. Este comando fornece uma análise detalhada da alocação de armazenamento, ajudando você a:
- Identifique oportunidades de otimização de custos : Veja quanto espaço de armazenamento pode ser recuperado com
VACUUM - Analise o overhead da viagem do tempo : entenda o custo de retenção de dados históricos
- Rastrear padrões de armazenamento : Monitore como o armazenamento da tabela evolui ao longo do tempo executando o comando periodicamente.
- Auditoria de armazenamento em todas as tabelas : execute o comando em um loop para analisar todo o seu conjunto de dados.
O comando retorna métricas abrangentes, incluindo:
- Tamanho total de armazenamento : Espaço total ocupado, incluindo todos os dados, metadados e logs
- Dados ativos : Tamanho da versão atual da tabela
- Dados "vacuáveis" : Espaço que pode ser recuperado.
- dados da viagem do tempo : dados históricos para rollbacks
Isso é particularmente valioso para Unity Catalog , onde Databricks gerencia automaticamente o armazenamento por meio de otimização preditiva.
Consulte o método compute STORAGE para obter a sintaxe completa e exemplos.
Use a otimização preditiva para controlar o tamanho dos dados
Databricks recomenda o uso Unity Catalog para gerenciar tabelas com otimização preditiva ativada. Com tabelas gerenciadas e otimização preditiva, Databricks executa automaticamente os comandos OPTIMIZE e VACUUM para evitar o acúmulo de arquivos de dados não utilizados. É normal haver sempre uma diferença de tamanho entre a versão atual de uma tabela e o tamanho total dos arquivos de dados no armazenamento de objetos cloud . Isso ocorre porque são necessários arquivos de dados não referenciados na versão atual para dar suporte às consultas de viagem do tempo. Consulte Otimização preditiva para Unity Catalog gerenciar tabelas.
Que métricas de arquivo o site VACUUM informa?
Quando o senhor limpa os arquivos de dados não utilizados com VACUUM ou usa DRY RUN para visualizar os arquivos definidos para remoção, as métricas informam o número de arquivos e o tamanho dos dados removidos. O tamanho e o número de arquivos removidos pelo VACUUM variam drasticamente, mas não é incomum que o tamanho dos arquivos removidos exceda o tamanho total da versão atual da tabela.
Que métricas de arquivo o site OPTIMIZE informa?
Quando OPTIMIZE execução em uma tabela de destino, os novos arquivos de dados combinam registros de arquivos de dados existentes. As alterações cometidas durante o OPTIMIZE afetam apenas a organização dos dados e não ocorrem alterações no conteúdo dos dados subjacentes. O tamanho total dos arquivos de dados associados à tabela aumenta após a execução do OPTIMIZE, porque os novos arquivos compactados coexistem no diretório que os contém com os arquivos de dados não mais referenciados.
O tamanho da tabela informado após OPTIMIZE é geralmente menor do que o tamanho antes da execução de OPTIMIZE, porque o tamanho total dos arquivos de dados referenciados pela versão atual da tabela diminui com a compactação de dados. VACUUM deve ser executado após o término do limite de retenção para remover os arquivos de dados subjacentes.
O senhor pode ver métricas semelhantes para operações como REORG TABLE ou DROP FEATURE. Todas as operações que exigem a reescrita de arquivos de dados aumentam o tamanho total dos dados no diretório que os contém até que o site VACUUM remova os arquivos de dados que não são mais referenciados na versão atual da tabela.