REFRESH (MATERIALIZED VIEW ou STREAMING TABLE)
Aplica-se a: SQL do Databricks
Atualize os dados para uma tabela de streaming ou uma exibição materializada. Por padrão, os dados são atualizados de forma assíncrona.
Você pode acompanhar o status da atualização executando DESCRIBE EXTENDED
.
Observação
As operações de criação e atualização em exibições materializadas e tabelas de streaming são alimentadas por um pipeline de Tabelas Dinâmicas Delta sem servidor. Você pode usar o Gerenciador de Catálogos para exibir detalhes sobre os pipelines de backup na interface do usuário. Confira O que é o Explorador de Catálogos?.
Sintaxe
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]
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 especificação de opções. Se o objeto não puder ser encontrado, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.
FULL
Se deve executar uma atualização completa.
- Para exibições materializadas, uma atualização completa processa todos os dados disponíveis na origem.
- Para tabelas de streaming, uma atualização completa trunca a tabela e processa todos os dados disponíveis na origem 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 origem.
SINCRONIZAR
Se deve executar uma atualização síncrona. O comando bloqueia até que a exibição materializada ou a tabela de streaming seja criada e a carga de dados inicial seja concluída.
Esse é o comportamento padrão.
ASYNC
Se deve executar uma atualização assíncrona, que inicia um trabalho em segundo plano em Delta Live Tables. O comando retorna imediatamente antes que a carga de dados seja concluída com um link para o pipeline de Delta Live Tables que faz backup da exibição materializada ou da tabela de streaming. Você pode visitar o link para ver o status da atualização.
Você deve especificar
ASYNC
se quiser executar atualizações assíncronas. A operação será 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 TABLE cat.db.st_name FULL;