execução de uma atualização em um pipeline Delta Live Tables

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

Depois de criar um pipeline e estar pronto para executá-lo, você começa uma atualização. Uma atualização de pipeline faz o seguinte:

  • começar a clusters com a configuração correta.

  • Descobre todas as tabelas e visualizações definidas e verifica se há erros de análise, como nomes de colunas não válidos, dependências ausentes e erros de sintaxe.

  • Cria ou atualiza tabelas e view com os dados mais recentes disponíveis.

Usando uma atualização de validação, o senhor 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 o pipeline, pois permite que o senhor encontre e corrija rapidamente os erros no site pipeline, como nomes incorretos de tabelas ou colunas.

Para saber como criar um pipeline, consulte Configurar um pipeline do Delta Live Tables.

O senhor pode orquestrar as atualizações do pipeline com o Databricks Job ou outras ferramentas. Ver execução a Delta Live Tables pipeline em um fluxo de trabalho.

começar uma atualização de pipeline

Databricks tem várias opções para começar pipeline atualizações, incluindo as seguintes:

  • Na IU do Delta Live Tables, você tem as seguintes opções:

    • Clique no Delta Live Tables começar Icon botão na página de detalhes do pipeline.

    • Na lista de pipelines, clique em Ícone de seta para a direita na coluna Ações .

  • Para começar uma atualização em um Notebook, anexe o Notebook a um pipeline configurado e clique em começar. Consulte Desenvolver e depurar o pipeline Delta Live Tables no Notebook.

  • O senhor pode acionar o pipeline de forma programática usando API ou CLI. Consulte API de pipeline.

  • Você pode programar o pipeline como um Job usando a interface do usuário Delta Live Tables ou a interface Job . Consulte programar um pipeline.

Observação

O comportamento default para atualizações pipeline acionadas manualmente usando qualquer um desses métodos é refresh todos.

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

Importante

Um refresh completo de uma tabela de transmissão ou materializada view trunca e recomputa a tabela ou view para refletir o estado atual de sua fonte de dados de entrada. Para tabelas de transmissão, os pontos de controle também são redefinidos. Se os registros tiverem sido removidos da fonte de dados, por exemplo, devido a políticas de retenção de dados, exclusão manual ou fontes com períodos de retenção curtos, como Kafka, o estado da tabela ou view após um refresh completo poderá ser diferente do estado anterior. Além disso, o tempo e o recurso para concluir um refresh completo estão correlacionados ao tamanho dos dados de origem.

Databricks Recomenda-se executar a atualização completa somente quando necessário e quando a fonte de dados de entrada contiver os dados para recriar o estado da tabela ou view. Para evitar que a atualização completa seja executada em uma tabela ou view, defina a propriedade pipelines.reset.allowed da tabela como false. Consulte as propriedades da tabela Delta Live Tables. O senhor também pode usar um fluxo de acréscimo para acrescentar dados a uma tabela de transmissão existente sem precisar de um refresh completo.

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

  • refresh todos: Todas as tabelas são atualizadas para refletir o estado atual de sua fonte de dados de entrada. Para tabelas de transmissão, novas linhas são anexadas à tabela.

  • Completo refresh todos: Todas as tabelas são atualizadas para refletir o estado atual de sua fonte de dados de entrada. Para tabelas de transmissão, o site Delta Live Tables tenta limpar todos os dados de cada tabela e, em seguida, carregar todos os dados da fonte de transmissão.

  • atualizar seleção: O comportamento de refresh selection é idêntico ao de refresh all, mas permite que o senhor refresh 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 transmissão, novas linhas são anexadas à tabela.

  • Seleção completa refresh: O comportamento de full refresh selection é idêntico ao de full refresh all, mas permite que o senhor execute uma refresh completa apenas das tabelas selecionadas. As tabelas selecionadas são atualizadas para refletir o estado atual de suas fontes de dados de entrada. Para tabelas de transmissão, o site Delta Live Tables tenta limpar todos os dados de cada tabela e, em seguida, carregar todos os dados da fonte de transmissão.

Para a visualização materializada existente, uma atualização tem o mesmo comportamento que uma SQL REFRESH em uma view materializada. Para uma nova visualização materializada, o comportamento é o mesmo de uma SQL CREATE operações.

começar uma atualização de pipeline para tabelas selecionadas

Opcionalmente, o senhor pode reprocessar dados apenas para tabelas selecionadas em seu pipeline. Por exemplo, durante o desenvolvimento, o senhor altera apenas uma única tabela e deseja reduzir o tempo de teste, ou uma atualização de pipeline falha e o senhor deseja atualizar apenas as tabelas que falharam.

Observação

Você pode usar refresh seletiva apenas com pipelines acionados.

Para iniciar uma atualização que refresh apenas tabelas selecionadas, na página de detalhespipeline :

  1. Clique em Selecionar tabelas para refresh. A caixa de diálogo Selecionar tabelas para refresh é exibida.

    Se o senhor não vir o botão Select tables for refresh (Selecionar tabelas para atualização ), confirme se a página de 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 última atualização, por exemplo, porque a atualização falhou, o botão Select tables for refresh (Selecionar tabelas para atualização) não será exibido.

  2. Para selecionar as tabelas para refresh, clique em cada tabela. As tabelas selecionadas são destacadas e o rótulo é exibido. Para remover uma tabela da atualização, clique na tabela novamente.

  3. Clique em refresh seleção.

    Observação

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

Para reprocessar os dados já ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul para baixo ao lado do botão de seleção de atualização e clique em Full refresh selection (Seleção de atualização completa).

começar 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 de detalhes do Pipeline , clique em refresh tabelas com falha.

Para atualizar apenas as tabelas com falha selecionadas:

  1. Clique Botão para baixo ao lado do botão refresh tabelas com falha e clique em Selecionar tabelas para refresh. A caixa de diálogo Selecionar tabelas para refresh é exibida.

  2. Para selecionar as tabelas para refresh, clique em cada tabela. As tabelas selecionadas são destacadas e o rótulo é exibido. Para remover uma tabela da atualização, clique na tabela novamente.

  3. Clique em refresh seleção.

    Observação

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

Para reprocessar os dados já ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul para baixo ao lado do botão de seleção de atualização e clique em Full refresh selection (Seleção de atualização completa).

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

Visualização

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 Validate. Uma atualização Validate resolve as definições de dataset e fluxos definidos no pipeline, mas não materializa nem publica nenhum dataset. Erros encontrados durante a validação, como nomes incorretos de tabelas ou colunas, são relatados na UI.

Para executar uma atualização Validate, clique em Acento circunflexo azul para baixo na página de detalhes pipeline ao lado de começar e clique em Validate (Validar).

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

Você pode ver os resultados apenas da atualização Validate mais recente. Se a atualização Validate foi a atualização de execução mais recente, você poderá ver os resultados selecionando-a na atualização história. Se outra atualização for executada após a atualização Validate , os resultados não estarão mais disponíveis na IU.

Como escolher os limites do pipeline

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

O pipeline Delta Live Tables maior tem vários benefícios. Isso inclui o seguinte:

  • Use os recursos clusters com mais eficiência.

  • Reduza o número de pipelines em seu workspace.

  • 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:

  • Funcionalidade dividida nos limites da equipe. Por exemplo, sua equipe de dados pode manter o pipeline para transformação de dados, enquanto seu analista de dados mantém o pipeline que analisa os dados transformados.

  • Divida 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 o Ícone de alternância do ambiente Delta Live Tables botões na IU do pipeline para alternar entre esses dois modos. Por default, 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. Em default, clusters execução por duas horas quando o modo de desenvolvimento estiver ativado. O senhor pode alterar isso com a configuração pipelines.clusterShutdown.delay no pipeline Configure compute for a Delta Live Tables.

  • Desabilita novas tentativas 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 os clusters para erros recuperáveis específicos, incluindo vazamentos de memória e credenciais obsoletas.

  • Tenta novamente a execução no caso de erros específicos, como uma falha ao começar a cluster.

Observação

A alternância entre os modos de desenvolvimento e produção controla apenas clusters e o comportamento de execução 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 do pipeline e não são afetados ao alternar entre os modos.

programar um pipeline

O senhor pode iniciar um pipeline acionado manualmente ou executar o pipeline em um programador com um Databricks Job. O senhor pode criar e programar um trabalho com uma única pipeline tarefa diretamente na UI Delta Live Tables ou adicionar uma pipeline tarefa a um fluxo de trabalho multitarefa na UI Job. Consulte Delta Live Tables pipeline tarefa for Job.

Para criar um Job de tarefa única e um programar para o Job na IU do Delta Live Tables:

  1. Clique em programar > Add a programar. Se o pipeline estiver incluído em um ou mais trabalhos programados, o botão programar será atualizado para mostrar o número de programar existente, por exemplo, programar (5).

  2. Insira um nome para o Job no campo NomeJob .

  3. Configure o programar para programard.

  4. Especifique o período, a hora de início e o fuso horário.

  5. Configure um ou mais endereços email para receber alertas sobre início de pipeline, sucesso ou falha.

  6. Clique em Criar.