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

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

Depois de criar um pipeline e estar pronto para executá-lo, você inicia 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 colunas 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 validada, 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 de tabelas ou colunas incorretos.

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

Iniciar uma atualização de pipeline

O Azure Databricks tem 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 Ícone Iniciar do Delta Live Tables botão na página de detalhes do pipeline.
    • Na lista de pipelines, clique Ícone de seta para a direita na coluna Ações .
  • Para iniciar uma atualização em um bloco de anotações, clique em Delta Live Tables > Start na barra de ferramentas do bloco de anotações. Consulte Abrir ou executar um pipeline Delta Live Tables a partir de um bloco de anotações.
  • Você pode acionar pipelines programaticamente usando a API ou a CLI. Ver _.
  • Você pode agendar o pipeline como um trabalho usando a interface do usuário Delta Live Tables ou a interface do usuário de trabalhos. Consulte Agendar um pipeline.

Nota

O comportamento padrão para atualizações de pipeline acionadas manualmente usando qualquer um desses métodos é atualizar todos.

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, depende do tipo de atualização:

  • Atualizar tudo: todas as tabelas são atualizadas para refletir o estado atual de suas fontes de dados de entrada. Para tabelas de streaming, novas linhas são acrescentadas à tabela.
  • Atualização completa de tudo: todas as tabelas são atualizadas para refletir o estado atual de suas 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.
  • Atualizar seleção: o comportamento do 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 de suas 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 de tabelas selecionadas. As tabelas selecionadas são atualizadas para refletir o estado atual de suas 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 um SQL REFRESH em uma exibição materializada. Para novas exibições materializadas, o comportamento é o mesmo de uma operação SQL CREATE .

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ê altera apenas 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.

Nota

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

Para iniciar uma atualização que atualiza apenas as tabelas selecionadas, na página Detalhes do pipeline:

  1. Clique em Selecionar tabelas para atualização. A caixa de diálogo Selecionar tabelas para atualização é exibida.

    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.

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

  3. Clique em Atualizar seleção.

    Nota

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

Para reprocessar dados já ingeridos para as tabelas selecionadas, clique ao Blue Down Caret lado do botão Atualizar seleção e 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 gráfico de pipeline, você poderá iniciar uma atualização apenas de tabelas com falha e quaisquer dependências downstream.

Nota

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 tabelas com falha selecionadas:

  1. Clique ao Seta Para Baixo lado do botão Atualizar tabelas com falha e clique em Selecionar tabelas para atualização. A caixa de diálogo Selecionar tabelas para atualização é exibida.

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

  3. Clique em Atualizar seleção.

    Nota

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

Para reprocessar dados já ingeridos para as tabelas selecionadas, clique ao Blue Down Caret lado do botão Atualizar seleção e clique em Seleção de atualização completa.

Verifique se há erros em um pipeline sem esperar pela atualização das tabelas

Importante

O recurso de atualização Delta Live Tables Validate está em Visualização pública.

Para verificar se o código-fonte de um pipeline é válido sem executar uma atualização completa, use Validar. Uma Validate atualização 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 de tabela ou coluna incorretos, são relatados na interface do usuário.

Para executar uma Validate atualização, clique Blue Down Caret 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 somente à 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 mais recente Validate . Se a Validate atualização foi a mais recentemente executada, você pode ver os resultados selecionando-a no histórico de atualizações. Se outra atualização for executada após a Validate atualização, os resultados não estarão mais disponíveis na interface do usuário.

Como escolher limites de pipeline

Um pipeline Delta Live Tables pode processar atualizações para uma única tabela, muitas tabelas com relações dependentes, 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 dividir seus pipelines.

Pipelines maiores de Delta Live Tables têm vários benefícios. Estas incluem o seguinte:

  • Use recursos de cluster de forma mais eficiente.
  • Reduza o número de pipelines em seu espaço de trabalho.
  • Reduza 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:

  • Divida 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.
  • Funcionalidade dividida em limites específicos do aplicativo para reduzir o acoplamento e facilitar a reutilização de funcionalidades comuns.

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 Ícone de alternância do ambiente Delta Live Tables botões na interface do usuário do Pipelines para alternar entre esses dois modos. Por padrão, os pipelines são executados no modo de desenvolvimento.

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

  • Reutiliza um 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 no pipeline Configurar computação para um Delta Live Tables.
  • Desabilita novas tentativas de pipeline para que você possa detetar 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.
  • Repetição da execução em caso de erros específicos, como uma falha ao iniciar um cluster.

Nota

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 publicação de tabelas devem ser configurados como parte das configurações de pipeline e não são afetados ao alternar entre modos.

Agendar um pipeline

Você pode iniciar um pipeline acionado manualmente ou executá-lo em uma agenda 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 Delta Live Tables ou adicionar uma tarefa de pipeline a um fluxo de trabalho de várias tarefas na interface do usuário de trabalhos. Consulte Tarefa de pipeline Delta Live Tables para trabalhos.

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

  1. Clique em Agendar > Adicionar uma agenda. Se o pipeline estiver incluído em um ou mais trabalhos agendados, o botão Agendar será atualizado para mostrar o número de agendas existentes, por exemplo, Agenda (5).
  2. Insira um nome para o trabalho no campo Nome do trabalho .
  3. Defina o cronograma 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 e-mail para receber alertas sobre início, sucesso ou falha do pipeline.
  6. Clique em Criar.