Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Atualizações e Exclusões Básicas de Dados | Conceitos Fundamentais do Databricks
Fundamentos do Databricks: Um Guia para Iniciantes

Atualizações e Exclusões Básicas de Dados

Deslize para mostrar o menu

Note
Definição

Em Data Lakes padrão, atualizar ou excluir uma única linha é praticamente impossível sem reescrever todo o conjunto de dados. Como o Delta Lake utiliza um log de transações, ele oferece suporte aos comandos SQL padrão UPDATE e DELETE, permitindo modificações precisas em suas tabelas.

Na seção anterior, o foco foi na leitura e sumarização de dados. No entanto, os dados raramente são estáticos — pode-se descobrir que um lote de registros de diamantes possui preços incorretos ou que um tipo específico de "cut" precisa ser removido dos relatórios.

Como a tabela diamonds é uma tabela Delta, ela pode ser modificada assim como em um banco de dados tradicional.

1. Atualização de Registros

O comando UPDATE permite alterar valores em linhas específicas que atendam a uma condição. Por exemplo, se todos os diamantes com "Fair" cut receberam um aumento de preço de 10%:

UPDATE workspace.workshop.diamonds
SET price = price * 1.1
WHERE cut = 'Fair'
  • SET — Define o novo valor para a coluna
  • WHERE — Essencial. Sem uma cláusula WHERE, o preço de todos os diamantes da tabela seria atualizado

2. Exclusão de Registros

O comando DELETE remove linhas da tabela de forma permanente. Utilizado quando os dados não são mais relevantes ou foram ingeridos por engano.

DELETE FROM workspace.workshop.diamonds
WHERE carat > 5.0

Este comando identifica todos os diamantes com mais de 5 quilates e os remove da versão ativa da tabela.

3. Verificação Após Modificação

Após executar um update ou delete, é recomendada a verificação da alteração com um simples SELECT count para garantir que a operação ocorreu conforme esperado.

-- Verify how many 'Fair' diamonds are left (count should be the same, but prices changed)
SELECT count(*) FROM workspace.workshop.diamonds WHERE cut = 'Fair'

4. Segurança nas Atualizações Delta

Ao executar DELETE ou UPDATE, o Delta Lake não apaga os dados dos arquivos antigos diretamente. Em vez disso, segue um processo em três etapas:

  1. Marca os arquivos antigos como "inválidos"
  2. Escreve novos arquivos contendo os dados atualizados
  3. Registra a alteração no Transaction Log

Por isso, o Time Travel continua funcionando mesmo após uma exclusão — os dados antigos permanecem em versões anteriores dos arquivos da tabela até que o histórico seja removido manualmente.

5. Melhor Prática: Testando com SELECT

Antes de executar um DELETE ou UPDATE, sempre teste seu filtro com um SELECT primeiro.

  • Em vez de: DELETE FROM diamonds WHERE color = 'J'
  • Teste primeiro: SELECT * FROM diamonds WHERE color = 'J'

Se os resultados do SELECT mostrarem exatamente o que você pretende remover, é seguro prosseguir com o comando DELETE.

1. O que acontece se você executar um comando UPDATE sem uma cláusula WHERE?

2. Executar um comando DELETE em uma tabela Delta apaga imediatamente os dados do armazenamento em nuvem subjacente para sempre?

question mark

O que acontece se você executar um comando UPDATE sem uma cláusula WHERE?

Selecione a resposta correta

question mark

Executar um comando DELETE em uma tabela Delta apaga imediatamente os dados do armazenamento em nuvem subjacente para sempre?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 5. Capítulo 4
some-alt