refresh operações para materialized view

Visualização

A visualização materializada em Databricks SQL está em visualização pública.

As visualizaçõ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 visualizações materializadas podem ser atualizadas de forma incremental, propagando automaticamente e de forma incremental as alterações das tabelas de base.

Este artigo explica os tipos de refresh operações que o senhor pode aplicar à visualização materializada e identifica as SQL operações, palavras-chave e cláusulas que oferecem suporte à refresh incremental.

Observação

Para criar e usar a visualização materializada, o site workspace deve atender aos requisitos.

Tipos de atualização

refresh As operações são um desses tipos:

  • Incremental refresh: Um refresh incremental processa as alterações nos dados subjacentes após o último refresh e, em seguida, anexa esses dados à tabela. Dependendo das tabelas de base e das operações incluídas, somente determinados tipos de visualização materializada podem ser atualizados de forma incremental.

  • Full refresh: Um refresh completo trunca a tabela e reprocessa todos os dados disponíveis na fonte com a definição mais recente. Não é recomendável executar a atualização completa em fontes que não mantêm todo o histórico de dados ou que têm períodos de retenção curtos, como Kafka, porque a atualização completa refresh trunca os dados existentes. Talvez o senhor não consiga recuperar dados antigos se eles não estiverem mais disponíveis na fonte.

Quando as visualizações materializadas são criadas usando SQL warehouse ou serverless Delta Live Tables pipeline, elas são automaticamente atualizadas de forma incremental se as consultas forem compatíveis. Se uma consulta incluir expressões não suportadas para um refresh incremental, será realizado um refresh completo, o que pode resultar em custos adicionais. Para determinar qual tipo de refresh é usado, consulte Determinar se é usado um refresh incremental ou completo.

Suporte para atualização incremental da visualização materializada

A tabela a seguir lista o suporte ao incremental refresh por palavra-chave ou cláusula SQL. As palavras-chave e cláusulas marcadas com uma estrela (*) exigem que o acompanhamento de linha seja ativado para o incremento refresh. Consulte Usar acompanhamento de linha para Delta tables.

Palavra-chave ou cláusula SQL

Suporte para incrementos refresh

SELECT expressões*

Sim, há suporte para expressões que incluem funções integradas 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 de base compatíveis incluem tabelas Delta, exibição materializada e tabelas de transmissão.

WHERE, HAVING*

Há suporte para cláusulas de filtro, como WHERE e HAVING.

INNER JOIN*

Sim

LEFT OUTER JOIN

Sim

FULL OUTER JOIN

Sim

RIGHT OUTER JOIN

Sim

OVER

Sim. As colunas PARTITION_BY devem ser especificadas para incrementação em funções de janela.

QUALIFY

Sim

EXPECTATIONS

Não. As visualizações materializadas que usam expectativas são sempre totalmente atualizadas.

Observação

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