Tamanho da tabela no Databricks
O tamanho da tabela relatado para tabelas apoiadas por Delta Lake em Databricks é diferente do tamanho total dos diretórios de arquivos correspondentes no armazenamento de objetos cloud. 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.
Observação
Se o usuário exclui ou atualiza regularmente os registros nas 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?
Quais métricas de arquivo o VACUUM
reporta?
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 por VACUUM
variam drasticamente, mas não é incomum que o tamanho dos arquivos removidos exceda o tamanho total da versão atual da tabela.
Quais métricas de arquivo o OPTIMIZE
reporta?
Quando OPTIMIZE
executado em uma tabela de destino, os novos arquivos de dados combinam registros de arquivos de dados existentes. As alterações feitas durante 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 OPTIMIZE
execuções, pois 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 relatado 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 dos dados. VACUUM
deve ser executado após o término do limite de retenção para remover os arquivos de dados subjacentes.
Observação
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 VACUUM
remova os arquivos de dados que não são mais referenciados na versão atual da tabela.