Operações de atualização para exibições materializadas

Importante

As visualizações materializadas no Databricks SQL estão em Visualização Pública.

Exibições materializadas são objetos de banco de dados que contêm os resultados de uma consulta SQL em relação a uma ou mais tabelas base. Algumas visualizações materializadas podem ser atualizadas incrementalmente, propagando alterações de forma automática e incremental a partir das tabelas base.

Este artigo explica os tipos de operações de atualização que você pode aplicar a exibições materializadas e identifica as operações, palavras-chave e cláusulas SQL que oferecem suporte à atualização incremental.

Nota

Para criar e usar exibições materializadas, seu espaço de trabalho 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, apenas certos tipos de exibições materializadas podem ser atualizadas incrementalmente.
  • Atualização completa: uma atualização completa trunca a tabela e reprocessa todos os dados disponíveis na fonte 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 fonte.

Quando as exibições materializadas são criadas usando um SQL warehouse ou um pipeline Delta Live Tables sem servidor, elas são atualizadas automaticamente de forma incremental se suas consultas forem suportadas. Se uma consulta incluir expressões sem suporte para uma atualização incremental, uma atualização completa será executada, resultando potencialmente em custos adicionais. Para determinar qual tipo de atualização é usado, consulte Determinando 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 rastreamento de linhas seja habilitado para atualização incremental. Consulte Usar rastreamento de linha para tabelas Delta.

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

Nota

Funções não determinísticas, por exemplo, CURRENT_TIMESTAMPnão são suportadas.