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 view definidas e verifica erros de análise, como nomes de coluna inválidos, dependências ausentes e erros de sintaxe.

  • Cria ou atualiza tabelas e view 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 um Validate update. O recurso Validate é útil ao desenvolver ou testar pipelines, pois permite encontrar e corrigir rapidamente erros no pipeline, como nomes incorretos de tabelas ou colunas.

Para saber como criar um pipeline, consulte tutorial: execute seu primeiro Delta Live Tables pipeline .

começar uma atualização de pipeline

O Databricks fornece várias opções para começar as atualizações do pipeline, incluindo o seguinte:

  • 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, clique em Delta Live Tables > começar na barra de ferramentas Notebook . Consulte Abrir ou executar um pipeline Delta Live Tables de um Notebook.

  • Você pode acionar pipelines programaticamente usando a API ou a CLI. Consulte o guia da API Delta Live Tables.

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

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

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

  • refresh tudo: Todas as tabelas ao vivo são atualizadas para refletir o estado atual de sua fonte de entrada de dados. Para todas as tabelas transmitidas, novas linhas são anexadas à tabela.

  • refresh completa de todos: Todas as tabelas ao vivo são atualizadas para refletir o estado atual de sua fonte de entrada de dados. Para todas as tabelas transmitidas, o Delta Live Tables tenta limpar todos os dados de cada tabela e então carregar todos os dados da fonte da transmissão.

  • seleçãorefresh : o comportamento de refresh selection é idêntico a refresh all, mas permite que você refresh apenas tabelas selecionadas. As tabelas ativas selecionadas são atualizadas para refletir o estado atual de sua fonte de dados de entrada. Para tabelas de transmissão selecionadas, novas linhas são anexadas à tabela.

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

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

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

Você pode querer 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.

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 você não vir o botão Selecionar tabelas para refresh , verifique 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 exibido para a atualização mais recente, por exemplo, porque a atualização falhou, o botão Selecionar tabelas para refresh não será exibido.

  2. Para selecionar as tabelas a serem refresh, clique em cada tabela. As tabelas selecionadas são destacadas e rotuladas. 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 que já foram ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul para baixo ao lado do botão de seleçãorefresh e clique em Seleção refresh 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 a serem refresh, clique em cada tabela. As tabelas selecionadas são destacadas e rotuladas. 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 que já foram ingeridos para as tabelas selecionadas, clique em Acento circunflexo azul para baixo ao lado do botão de seleçãorefresh e clique em Seleção refresh 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 , na página de detalhes do pipeline, clique Acento circunflexo azul para baixo ao lado de começar e clique em Validar.

Depois que a atualização Validate for concluída, os logs de eventos mostrarão eventos relacionados apenas à atualização Validate e nenhuma informação será exibida no DAG. Se forem encontrados erros, os detalhes estarão disponíveis nos logs de eventos.

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.

Execução de pipeline contínua x acionada

Se o pipeline usar o modo de execução disparado , o sistema interromperá o processamento após atualizar com sucesso todas as tabelas ou 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 começar.

Se o pipeline usar execução contínua , o Delta Live Tables processará novos dados conforme eles chegam na fonte de dados para manter as tabelas atualizadas em todo o pipeline.

O modo de execução é independente do tipo de tabela que está sendo compute. Tanto view materializada quanto as tabelas transmitidas podem ser atualizadas em qualquer um dos modos de execução. Para evitar 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.

Observação

O Delta Live Tables Runtime não é capaz de detectar alterações em fontes de dados não Delta. A tabela ainda é atualizada regularmente, mas com um intervalo de acionamento default mais alto para evitar que a recomputação excessiva reduza a velocidade de qualquer processamento incremental que ocorra nos clusters.

Tabela comparando os modos de execução do pipeline de dados

A tabela a seguir destaca as diferenças entre esses modos de execução:

Provocado

Contínuo

Quando a atualização para?

Automaticamente uma vez concluído.

execução continuamente até parar manualmente.

Que dados são processados?

Dados disponíveis quando a atualização começar.

Todos os dados à medida que chegam às fontes configuradas.

Para quais requisitos de atualização de dados isso é melhor?

Execução de atualizações de dados a cada 10 minutos, a cada hora ou diariamente.

Atualizações de dados desejadas entre a cada 10 segundos e alguns minutos.

Os pipelines acionados podem reduzir o consumo e as despesas de recursos, uma vez que a execução clusters é apenas longa o suficiente para executar o pipeline. No entanto, novos dados não serão processados até que o pipeline seja acionado. Pipelines contínuos requerem uma execução sempre comclusters , o que é mais caro, mas reduz a latência de processamento.

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

Como escolher os limites do pipeline

Um pipeline Delta Live Tables pode processar atualizações em uma única tabela, em muitas tabelas com relacionamento dependente, 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.

pipeline Delta Live Tables maior tem vários benefícios. Estes incluem 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 pipelines para transformação de dados enquanto seu analista de dados mantém pipelines que analisam 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 clusters para evitar a sobrecarga de reinicializações. Por default, a execução dos clusters dura duas horas quando o modo de desenvolvimento está ativado. Você pode alterar isso com a configuração pipelines.clusterShutdown.delay em Defina suas configurações compute .

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

  • Novas tentativas de execução em caso de erros específicos, por exemplo, uma falha ao começar a clusters.

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

Você pode iniciar um pipeline acionado manualmente ou executar o pipeline em um programar com um Databricks Job. Você pode criar e programar um Job com uma única tarefa de pipeline diretamente na IU do Delta Live Tables ou adicionar uma tarefa de pipeline a um fluxo de trabalho multitarefa na IU Job .

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

  1. Clique em programar > Adicionar um programar. O botão programar é atualizado para mostrar o número de programar existente se o pipeline estiver incluído em um ou mais Job agendados, 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.