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.
Usando uma atualização de validação, você pode verificar se há problemas no código-fonte de um pipeline sem esperar que as tabelas sejam criadas ou atualizadas. Esse recurso é útil ao desenvolver ou testar pipelines porque permite que você encontre e corrija rapidamente erros em seu pipeline, como nomes incorretos de tabelas ou colunas.
Para saber como criar um pipeline, consulte Configurar um pipeline do Delta Live Tables.
Você pode orquestrar atualizações de pipeline com trabalhos do Databricks ou outras ferramentas. Consulte Executar um pipeline do Delta Live Tables em um fluxo de trabalho.
Iniciar uma atualização de pipeline
O Azure Databricks tem várias opções para iniciar atualizações de pipeline, incluindo as seguintes:
- Na interface do usuário do Delta Live Tables, você tem as seguintes opções:
- Clique no botão na página de detalhes do pipeline.
- Na lista de pipelines, clique em 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 API de pipeline.
- É 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.
Observação
O comportamento padrão para atualizações de pipeline disparadas manualmente usando qualquer um desses métodos é atualizar tudo.
Como o Delta Live Tables atualiza tabelas e exibições
As tabelas e exibições atualizadas e como essas tabelas e exibições são atualizadas dependem do tipo de atualização:
- Atualizar tudo: todas as tabelas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para tabelas de streaming, novas linhas são acrescentadas à tabela.
- Atualização completa: todas as tabelas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para 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,refresh all
mas permite que você atualize apenas as tabelas selecionadas. As tabelas selecionadas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para tabelas de streaming, novas linhas são acrescentadas à tabela. - Seleção de atualização completa: o comportamento de
full refresh selection
é idêntico,full refresh all
mas permite que você execute uma atualização completa apenas das tabelas selecionadas. As tabelas selecionadas são atualizadas para refletir o estado atual das fontes de dados de entrada. Para tabelas de streaming, o Delta Live Tables tenta limpar todos os dados de cada tabela e, em seguida, carregar todos os dados da fonte de streaming.
Para exibições materializadas existentes, uma atualização tem o mesmo comportamento que uma operação REFRESH
de SQL em uma exibição materializada. Para novas exibições materializadas, o comportamento é o mesmo que uma operação CREATE
de SQL.
Iniciar uma atualização de pipeline para tabelas selecionadas
Opcionalmente, você pode 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:
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 , confirme se a página Detalhes do pipeline exibe a atualização mais recente e se a atualização foi concluída. Se um DAG não for mostrado para a atualização mais recente, por exemplo, porque a atualização falhou, o botão Selecionar tabelas para atualização não será exibido.
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.
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 já assimilados para as tabelas selecionadas, clique em ao lado do botão Atualizar seleção e clique em Atualizar seleçã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:
Clique no 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.
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.
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 já assimilados para as tabelas selecionadas, clique em ao lado do botão Atualizar seleção e clique em Atualizar seleçã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 Validate
atualização, clique na página de detalhes do pipeline ao lado de Iniciar e clique em Validar.
Após a conclusão da Validate
atualização, o log de eventos mostra eventos relacionados apenas à Validate
atualização 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.
Como escolher limites de pipeline
Um pipeline de Delta Live Tables pode realizar o processamento de atualizações para uma única tabela, para muitas tabelas com relacionamentos de dependência, para muitas tabelas sem relacionamentos, ou para múltiplos fluxos independentes de tabelas com relacionamentos de dependência. Esta seção contém considerações para ajudar a determinar como interromper os pipelines.
Pipelines maiores do Delta Live Tables têm vários 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 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 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
pipelines.clusterShutdown.delay
configuração em Configurar computação para um pipeline de Tabelas Dinâmicas Delta. - 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, como 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. Confira Tarefa de pipelines do Delta Live Tables para trabalhos.
Para criar um trabalho de tarefa única e uma agenda para o trabalho na interface do usuário do Delta Live Tables:
- Clique em Agendar > Adicionar um agendamento. Se o pipeline estiver incluído em um ou mais trabalhos agendados, o botão Agendar será atualizado para mostrar o número de agendamentos existentes, por exemplo, Agendamento (5).
- Insira um nome para o trabalho no campo Nome do trabalho.
- Defina o Agendamento como Agendado.
- Especifique o período, a hora de início e o fuso horário.
- Configure um ou mais endereços de email para receber alertas sobre início, êxito ou falha de pipeline.
- Clique em Criar.