Como os pipelines são atualizados?

Quando uma atualização de pipeline é executada, ela atualiza as exibições materializadas e as tabelas de streaming definidas no pipeline para que seus resultados reflitam o estado atual dos dados de origem. A forma como um conjunto de dados é atualizado depende de seu tipo e do tipo de atualização. Para saber como disparar e gerenciar atualizações, consulte Executar uma atualização de pipeline.

Tipos de atualização

Por padrão, cada exibição materializada e tabela de streaming em um pipeline é atualizada com cada atualização. A tabela a seguir resume como cada tipo de atualização se comporta:

Tipo de atualização Visão materializada Tabela de streaming
Atualizar (padrão) Atualiza os resultados para refletir os resultados atuais da consulta de definição. Azure Databricks examina o custo e executa uma atualização incremental quando é mais eficiente. Processa novos registros por meio da lógica definida em fluxos e tabelas de streaming.
Atualização completa Recompõe os resultados para refletir os resultados atuais da consulta de definição. Limpa dados de tabelas de streaming, limpa pontos de verificação de fluxos e reprocessa todos os registros da fonte de dados.
Redefinir os pontos de verificação de fluxo de streaming Não aplicável a visões materializadas. Limpa pontos de verificação de fluxos, mas não limpa dados de tabelas de streaming e reprocessa todos os registros da fonte de dados.

Atualizar (padrão)

Uma atualização padrão atualiza um conjunto de dados para refletir os resultados atuais de sua consulta de definição.

As tabelas de streaming são inerentemente incrementais. Uma atualização de tabela de streaming avalia apenas os registros que chegaram desde a última atualização e os acrescenta, usando a definição atual da tabela. Os registros mais antigos não são reprocessados, portanto, as alterações que afetariam os dados já gravados não são aplicadas. Em outras palavras, uma atualização padrão de uma tabela de streaming troca a correção de dados por menor tempo e custos de recursos. Para reprocessar dados mais antigos, execute uma atualização completa ou redefina os pontos de verificação de fluxo.

As exibições materializadas tentam uma atualização incremental, mas reprocessam todos os registros quando necessário para manter a tabela totalmente precisa. Uma visão materializada é atualizada por um de dois métodos:

  • A atualização incremental identifica as alterações desde a última atualização e mescla apenas os dados novos ou modificados.
  • A atualização completa executa toda a consulta e substitui os dados existentes quando uma atualização incremental não é possível ou não é econômica.

Por padrão, Azure Databricks usa um modelo de custo para escolher o método mais econômico. Você pode substituir essa opção por uma política de atualização. Para a semântica, os requisitos e o SQL com suporte para atualização incremental, consulte a atualização incremental para exibições materializadas.

Atualização completa

Uma atualização completa reprocessa todos os registros dos dados de origem por meio da lógica que define o conjunto de dados:

  • Para uma exibição materializada, uma atualização completa recomputa todo o resultado. Como as exibições materializadas sempre retornam o mesmo resultado de uma consulta em lote, uma atualização padrão e uma atualização completa produzem dados idênticos.
  • Para uma tabela de streaming, uma atualização completa trunca a tabela, limpa os pontos de verificação de streaming para seus fluxos e reprocessa todos os registros da origem.

Como uma atualização completa reprocessa todos os dados de origem, o tempo e o custo aumentam de acordo com o volume desses dados. O Databricks recomenda executar uma atualização completa somente quando necessário, como quando uma definição ou alteração de esquema não é compatível com os dados existentes. Uma atualização completa de uma tabela de streaming pode descartar registros se a origem não retiver mais os dados originais, por exemplo, um tópico Kafka após o fim da janela de retenção.

Para quando e como executar uma atualização completa de uma tabela de streaming, consulte a atualização completa para tabelas de streaming.

Redefinir pontos de verificação

A redefinição de pontos de verificação se aplica apenas a tabelas de streaming. Limpa os pontos de verificação de streaming para fluxos selecionados sem limpar os dados já gravados na tabela de streaming e reprocessa todos os registros da origem por meio desses fluxos. Ao contrário de uma atualização completa, os dados de tabela existentes são mantidos.

Use isso quando quiser reprocessar uma fonte de streaming para fluxos selecionados, por exemplo, depois de alterar a lógica de um fluxo, sem truncar a tabela.

A redefinição de pontos de verificação é disparada por meio da API REST do Lakeflow Spark Declarative Pipelines. Para ver as etapas, consulte Iniciar uma atualização de pipeline para limpar os pontos de verificação dos fluxos de streaming seletivo.

Recursos adicionais