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_TIMESTAMP
não são suportadas.