Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Atualize os dados para uma tabela de streaming ou uma visão materializada. Os dados são atualizados de forma síncrona por padrão.
Você pode acompanhar o status da atualização executando DESCRIBE EXTENDED.
Nota
As operações de criação e atualização em visualizações materializadas e tabelas de streaming são alimentadas por pipelines serverless Lakeflow. Você pode usar o Gerenciador de Catálogos para exibir detalhes sobre os pipelines de backup na interface do usuário. Consulte O que é o Catalog Explorer?.
Nota
REFRESH MATERIALIZED VIEW também se aplica a visualizações métricas materializadas. Use-o para atualizar manualmente as materializações que apoiam uma vista métrica. Ver Materialização para vistas métricas.
Sintaxe
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
Pode especificar qualquer subconjunto de FULL, WHERE, e SYNC ou ASYNC no mesmo comando.
Parâmetros
-
Identifica a exibição materializada ou a tabela de streaming a ser atualizada. O nome não deve incluir uma especificação temporal ou uma especificação de opções. Se o objeto não puder ser encontrado, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND .
COMPLETO
Se deseja executar uma atualização completa.
- Para visualizações materializadas, uma atualização completa processa todos os dados disponíveis na fonte.
- Para tabelas de streaming, uma atualização completa trunca a tabela e processa todos os dados disponíveis na fonte com a definição mais recente da tabela de streaming.
Não é recomendável chamar atualizações completas em fontes que não mantêm todo o histórico dos dados ou têm períodos de retenção curtos, como Kafka, pois a atualização completa trunca os dados existentes. Talvez não seja possível recuperar dados antigos se os dados não estiverem mais disponíveis na fonte.
WHERE predicado
Aplica-se a: tabela
criada com uma FLOW REPLACE WHEREcláusulaSobrepõe o predicado do
REPLACE WHEREfluxo para esta única atualização. A atualização elimina apenas as linhas correspondentespredicatedo destino e recomputa-as a partir da fonte. O predicado definido do fluxo mantém-se inalterado e aplica-se novamente na próxima atualização, pelo que uma sobreposição de predicado é uma operação única que não modifica a definição da tabela. Usa-o para preenchimentos ou correções pontuais. Consulte os fluxos REPLACE WHERE para tabelas de streaming autónomas.A
WHEREcláusula só é suportada numa tabela de streaming cujo fluxo foi criado comFLOW REPLACE WHERE. EspecificarWHEREem qualquer outra tabela de streaming, ou numa visualização materializada, retorna um erro.SYNC
Se uma atualização síncrona deve ser executada. O comando bloqueia até que a exibição materializada ou a tabela de streaming seja criada e a carga inicial de dados seja concluída.
Este é o comportamento predefinido.
ASSÍNCRONO
Se deve realizar uma atualização assíncrona, que inicia um trabalho em segundo plano nos pipelines Lakeflow. O comando retorna imediatamente antes da conclusão da carga de dados com um link para o pipeline que dá suporte à exibição materializada ou à tabela de streaming. Você pode visitar o link para ver o status da atualização.
Você deve especificar
ASYNCse deseja executar atualizações assíncronas. A operação é executada de forma síncrona se nenhuma palavra-chave for especificada.
Exemplos
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH STREAMING TABLE cat.db.st_name FULL;
-- Overrides the REPLACE WHERE predicate for a single asynchronous refresh.
-- Only rows matching id = 3 are recomputed. The flow's static predicate is unchanged.
> REFRESH STREAMING TABLE rep_st WHERE id = 3 ASYNC;