Share via


Executar uma atualização em um pipeline do Delta Live Tables

Este artigo explica o que é uma atualização de pipeline do Delta Live Tables e como executá-la.

Quando criar o pipeline e estiver pronto para executá-lo, você iniciará uma atualização. Uma atualização de pipeline faz o seguinte:

  • Inicia um cluster com a configuração correta.
  • Descobre todas as tabelas e exibições definidas e verifica se há erros de análise, como nomes de coluna inválidos, dependências ausentes e erros de sintaxe.
  • Cria ou atualiza tabelas e exibições com os dados mais recentes disponíveis.

Você pode verificar se há problemas no código-fonte de um pipeline sem esperar que as tabelas sejam criadas ou atualizadas usando a Verificação de Atualização. O recurso Validate é útil ao desenvolver ou testar pipelines, permitindo que você encontre e corrija rapidamente erros no seu pipeline, como nomes incorretos de tabelas ou colunas.

Para saber como criar um pipeline, veja Tutorial: Executar seu primeiro pipeline do Delta Live Tables.

Iniciar uma atualização de pipeline

O Azure Databricks fornece várias opções para iniciar atualizações de pipeline, incluindo o seguinte:

  • Na interface do usuário do Delta Live Tables, você tem as seguintes opções:
    • Clique no botão Ícone Iniciar Delta Live Tables na página de detalhes do pipeline.
    • Na lista de pipelines, clique em Ícone de Seta para a Direita na coluna Ações.
  • Para iniciar uma atualização em um notebook, clique em Delta Live Tables > Iniciar na barra de ferramentas do notebook. Confira Abrir ou executar um pipeline do Delta Live Tables em um notebook.
  • Você pode disparar pipelines de modo programático usando a API ou a CLI. Consulte o Guia da API das Tabelas Dinâmicas Delta.
  • É possível agendar o pipeline como um trabalho usando a interface do usuário do Delta Live Tables ou a interface do usuário dos trabalhos. Confira Agendar um pipeline.

Como o Delta Live Tables atualiza tabelas e exibições

As tabelas e exibições atualizadas e como elas são atualizadas dependem do tipo de atualização:

  • Atualizar tudo: todas as tabelas dinâmicas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para todas as tabelas de streaming, novas linhas são acrescentadas à tabela.
  • Atualizar tudo completamente: todas as tabelas dinâmicas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para todas as tabelas de streaming, o Delta Live Tables tenta limpar todos os dados de cada tabela e carregar todos os dados da fonte de streaming.
  • Atualizar seleção: o comportamento de refresh selection é idêntico a refresh all, mas permite atualizar apenas tabelas selecionadas. Tabelas dinâmicas selecionadas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para tabelas de streaming selecionadas, novas linhas são acrescentadas à tabela.
  • Atualizar seleção completamente: o comportamento de full refresh selection é idêntico a full refresh all, mas permite atualizar completamente apenas tabelas selecionadas. Tabelas dinâmicas selecionadas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para as tabelas de streaming selecionadas, o Delta Live Tables tenta limpar todos os dados de cada tabela e carregar todos os dados da fonte de streaming.

Para tabelas dinâmicas existentes, uma atualização tem o mesmo comportamento que um REFRESH SQL em uma exibição materializada. Para novas tabelas dinâmicas, o comportamento é o mesmo que uma operação CREATE de SQL.

Iniciar uma atualização de pipeline para tabelas selecionadas

Talvez você queira reprocessar dados apenas para tabelas selecionadas em seu pipeline. Por exemplo, durante o desenvolvimento, você só altera uma única tabela e deseja reduzir o tempo de teste ou uma atualização de pipeline falha e deseja atualizar apenas as tabelas com falha.

Observação

Você pode usar a atualização seletiva apenas com pipelines disparados.

Para iniciar uma atualização que atualize apenas as tabelas selecionadas, na página de detalhes do Pipeline:

  1. Clique em Selecionar tabelas para atualização. As tabelas Selecionar para a caixa de diálogo de atualização são exibidas.

    Se você não vir o botão Selecionar tabelas para atualização, verifique se a página Detalhes do pipeline exibe a atualização mais recente e se a atualização está concluída. Se um DAG não for exibido para a atualização mais recente, por exemplo, porque a atualização falhou, o botão Selecionar tabelas para atualizar não será exibido.

  2. Para selecionar as tabelas a serem atualizadas, clique em cada tabela. As tabelas selecionadas são realçadas e rotuladas. Para remover uma tabela da atualização, clique na tabela novamente.

  3. Clique em Atualizar seleção.

    Observação

    O botão Atualizar seleção exibe o número de tabelas selecionadas entre parênteses.

Para reprocessar dados que já foram ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul ao lado do botão Atualizar seleção clique em Seleção de atualização completa.

Iniciar uma atualização de pipeline para tabelas com falha

Se uma atualização de pipeline falhar devido a erros em uma ou mais tabelas no grafo de pipeline, você poderá iniciar uma atualização apenas de tabelas com falha e quaisquer dependências downstream.

Observação

As tabelas excluídas não são atualizadas, mesmo que dependam de uma tabela com falha.

Para atualizar tabelas com falha, na página detalhes do Pipeline, clique em Atualizar tabelas com falha.

Para atualizar apenas as tabelas com falha selecionadas:

  1. Clique no Botão para baixo ao lado do botão Atualizar tabelas com falha e clique em Selecionar tabelas para atualizar. As tabelas Selecionar para a caixa de diálogo de atualização são exibidas.

  2. Para selecionar as tabelas a serem atualizadas, clique em cada tabela. As tabelas selecionadas são realçadas e rotuladas. Para remover uma tabela da atualização, clique na tabela novamente.

  3. Clique em Atualizar seleção.

    Observação

    O botão Atualizar seleção exibe o número de tabelas selecionadas entre parênteses.

Para reprocessar dados que já foram ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul ao lado do botão Atualizar seleção clique em Seleção de atualização completa.

Verificar erros em um pipeline sem esperar a atualização das tabelas

Importante

O recurso de atualização de Validate do Delta Live Tables está na Visualização Pública.

Para verificar se o código-fonte de um pipeline é válido sem executar uma atualização completa, use Validate. Uma atualização de Validate resolve as definições de conjuntos de dados e fluxos definidos no pipeline, mas não materializa nem publica nenhum conjunto de dados. Os erros encontrados durante a validação, como nomes incorretos de tabela ou coluna, são relatados na interface do usuário.

Para executar uma atualização de Validate, na página de detalhes do pipeline, clique em cursor Azul para Baixo ao lado de Iniciar e clique em Validate.

Após a conclusão da atualização de Validate, o log de eventos mostra eventos relacionados apenas à atualização de Validate e nenhuma métrica é exibida no DAG. Se forem encontrados erros, os detalhes estarão disponíveis no log de eventos.

Você pode ver os resultados apenas para a atualização de Validate mais recente. Se a atualização de Validate foi a atualização de execução mais recente, você pode ver os resultados selecionando-a no histórico de atualizações. Se outra atualização for executada após a atualização de Validate, os resultados não estarão mais disponíveis na interface do usuário.

Comparação entre execução contínua e disparada de pipeline

Se o pipeline usar o modo de execução disparada, o sistema interromperá o processamento depois de atualizar com êxito todas as tabelas ou as tabelas selecionadas no pipeline uma vez, garantindo que cada tabela que faz parte da atualização seja atualizada com base nos dados disponíveis quando a atualização foi iniciada.

Se o pipeline usar a execução contínua, o Delta Live Tables processará novos dados à medida que chegam em fontes de dados para manter as tabelas atualizadas em todo o pipeline.

O modo de execução é independente do tipo de tabela que está sendo computada. Exibições materializadas e tabelas de streaming podem ser atualizadas em qualquer modo de execução. Para evitar o processamento desnecessário no modo de execução contínua, os pipelines monitoram automaticamente as tabelas Delta dependentes e executam uma atualização somente quando o conteúdo dessas tabelas dependentes é alterado.

Tabela que compara os modos de execução de pipeline de dados

A seguinte tabela realça diferenças entre esses modos de execução:

Disparado Contínuo
Quando a atualização é interrompida? Automaticamente depois de concluída. É executada sempre até ser interrompida manualmente.
Quais dados são processados? Dados disponíveis quando a atualização é iniciada. Todos os dados à medida que chegam às fontes configuradas.
Isso é melhor para quais requisitos de atualização de dados? As atualizações de dados são executadas a cada 10 minutos, por hora ou diariamente. Atualizações de dados desejadas entre 10 segundos e alguns minutos.

Pipelines disparados podem reduzir o consumo de recursos e as despesas, pois o cluster é executado apenas por tempo suficiente para executar o pipeline. No entanto, não serão processados novos dados enquanto o pipeline não for disparado. Pipelines contínuos exigem um cluster sempre em execução, o que é mais caro mas reduz a latência de processamento.

Você pode configurar o modo de execução com a opção Modo de pipeline nas configurações.

Como escolher limites de pipeline

Um pipeline de Delta Live Tables pode processar atualizações para uma única tabela, muitas tabelas com relação dependente, muitas tabelas sem relações ou vários fluxos independentes de tabelas com relações dependentes. Esta seção contém considerações para ajudar a determinar como interromper os pipelines.

Pipelines maiores do Delta Live Tables têm uma série de benefícios. Entre elas estão as seguintes:

  • Usar os recursos do cluster com mais eficiência.
  • Reduzir o número de pipelines no workspace.
  • Reduzir a complexidade da orquestração do fluxo de trabalho.

Algumas recomendações comuns sobre como os pipelines de processamento devem ser divididos incluem o seguinte:

  • Dividir a funcionalidade nos limites da equipe. Por exemplo, sua equipe de dados pode manter pipelines para transformar dados, enquanto seus analistas de dados mantêm os pipelines que analisam os dados transformados.
  • Dividir a funcionalidade em limites específicos do aplicativo para reduzir o acoplamento e facilitar a reutilização da funcionalidade comum.

Modos de desenvolvimento e produção

Você pode otimizar a execução do pipeline alternando entre os modos de desenvolvimento e produção. Use os botões do Ícone de Alternância de Ambiente do Delta Live Tables da interface do usuário de Pipelines para alternar entre esses dois modos. Por padrão, os pipelines são executados no modo de desenvolvimento.

Quando você executa o pipeline no modo de desenvolvimento, o sistema Delta Live Tables faz o seguinte:

  • Reutiliza o cluster para evitar a sobrecarga de reinicializações. Por padrão, os clusters são executados por duas horas quando o modo de desenvolvimento está habilitado. Você pode alterar isso com a configuração pipelines.clusterShutdown.delay em Definir configurações de computação.
  • Desabilita as recuperações de pipeline para que você possa detectar e corrigir erros imediatamente.

No modo de produção, o sistema Delta Live Tables faz o seguinte:

  • Reinicia o cluster para erros recuperáveis específicos, incluindo vazamentos de memória e credenciais obsoletas.
  • Tenta novamente a execução em caso de erros específicos, por exemplo, uma falha ao iniciar um cluster.

Observação

A alternância entre os modos de desenvolvimento e produção controla apenas o comportamento de execução do cluster e do pipeline. Os locais de armazenamento e os esquemas de destino no catálogo para tabelas de publicação devem ser definidos como parte das configurações do pipeline e não são afetados ao alternar entre os modos.

Agendar um pipeline

Você pode iniciar um pipeline disparado manualmente ou executar o pipeline em um agendamento com um trabalho do Azure Databricks. Você pode criar e agendar um trabalho com uma única tarefa de pipeline diretamente na interface do usuário do Delta Live Tables ou adicionar uma tarefa de pipeline a um workflow de várias tarefas na interface do usuário de trabalhos.

Para criar um trabalho de tarefa única e uma agenda para o trabalho na interface do usuário do Delta Live Tables:

  1. Clique em Agendar > Adicionar um agendamento. O botão Agendar é atualizado para mostrar o número de agendas existentes se o pipeline estiver incluído em um ou mais trabalhos agendados, por exemplo, Agendar (5).
  2. Insira um nome para o trabalho no campo Nome do trabalho.
  3. Defina o Agendamento como Agendado.
  4. Especifique o período, a hora de início e o fuso horário.
  5. Configure um ou mais endereços de email para receber alertas sobre início, êxito ou falha de pipeline.
  6. Clique em Criar.