Atualizar operações para exibições materializadas

Importante

As exibições materializadas no Databricks SQL estão em versão preliminar pública.

As exibições materializadas são objetos de banco de dados que contêm os resultados de uma consulta SQL em uma ou mais tabelas de base. Algumas exibições materializadas podem ser atualizadas incrementalmente, propagando automaticamente e incrementalmente as alterações das tabelas base.

Este artigo explica os tipos de operações de atualização que podem ser aplicadas a exibições materializadas e identifica as operações SQL, palavras-chave e cláusulas que dão suporte à atualização incremental.

Observação

Para criar e usar exibições materializadas, o workspace deve atender aos requisitos.

Tipos de atualização

As operações de atualização são um destes tipos:

  • Atualização incremental: uma atualização incremental processa alterações nos dados subjacentes após a última atualização e, em seguida, acrescenta esses dados à tabela. Dependendo das tabelas base e das operações incluídas, somente determinados tipos de exibições materializadas podem ser atualizados incrementalmente.
  • Atualização completa: uma atualização completa trunca a tabela e reprocessa todos os dados disponíveis na origem com a definição mais recente. Não é recomendável executar atualizações completas em fontes que não mantêm todo o histórico de dados ou têm períodos de retenção curtos, como Kafka, porque a atualização completa trunca os dados existentes. Talvez você não consiga recuperar dados antigos se os dados não estiverem mais disponíveis na origem.

Quando as exibições materializadas são criadas usando um SQL warehouse ou pipeline do Delta Live Tables sem servidor, elas são atualizadas automaticamente incrementalmente se houver suporte para suas consultas. Se uma consulta incluir expressões sem suporte para uma atualização incremental, uma atualização completa será executada, potencialmente resultando em custos adicionais. Para determinar qual tipo de atualização é usado, confira Determinar se uma atualização incremental ou completa é usada.

Suporte para atualização incremental de exibição materializada

A tabela a seguir lista o suporte para atualização incremental por palavra-chave ou cláusula SQL. Palavras-chave e cláusulas marcadas com uma estrela (*) exigem que o acompanhamento de linhas seja habilitado para atualização incremental. Confira Usar o acompanhamento de linhas para tabelas Delta.

Palavra-chave ou cláusula SQL Suporte para atualização incremental
Expressões SELECT* Sim, há suporte para expressões que incluem funções internas determinísticas e funções definidas pelo usuário (UDFs) imutáveis.
GROUP BY Sim
WITH Sim, há suporte para expressões de tabela comuns.
UNION ALL* Sim
FROM As tabelas base com suporte incluem tabelas Delta, exibições materializadas e tabelas de streaming.
WHERE, HAVING* Cláusulas de filtro como WHERE e HAVING têm suporte.
INNER JOIN* Sim
LEFT OUTER JOIN Sim
FULL OUTER JOIN Sim
RIGHT OUTER JOIN Sim
OVER Sim. PARTITION_BY colunas devem ser especificadas para incrementalização em funções de janela.
QUALIFY Sim
EXPECTATIONS Não. As exibições materializadas que usam as expectativas são sempre totalmente atualizadas.

Observação

Não há suporte para funções não determinísticas, por exemplo CURRENT_TIMESTAMP.