Executar um update no pipeline Tables do Delta Live

Este artigo explica as atualizações de pipeline e fornece detalhes sobre como acionar um update.

O que é um pipeline update?

Depois de criar um pipeline e estar pronto para executá-lo, inicie um update. Um pipeline update faz o seguinte:

  • Inicia um cluster com a configuração correta.
  • Descobre todos os tables e views definidos e verifica se há erros de análise, como nomes de column inválidos, dependências ausentes e erros de sintaxe.
  • Cria ou atualiza tables e views com os dados mais recentes disponíveis.

Usando uma validação update, pode-se verificar problemas no código-fonte de um pipeline sem esperar que tables seja criado ou atualizado. Esse recurso é útil ao desenvolver ou testar pipelines, pois permite que encontre e corrija rapidamente erros no seu pipeline, como nomes table ou column incorretos.

Como as atualizações de pipeline são acionadas?

Utilize uma das seguintes opções para iniciar atualizações do pipeline:

Update gatilho Detalhes
Manual Você pode acionar manualmente as atualizações de pipeline a partir da interface do usuário do pipeline, dos pipelines listou de um bloco de anotações anexado a um pipeline. Consulte Acionar manualmente um pipeline update e Desenvolver e depurar pipelines Delta Live Tables em notebooks.
Agendado Você pode agendar atualizações para pipelines usando tarefas. Consulte tarefa de pipeline do Delta Live Tables para trabalhos.
Programático Você pode acionar atualizações programaticamente usando ferramentas, APIs e CLIs de terceiros. Consulte Executar um pipeline Delta Live Tables em um de fluxo de trabalho e de API de pipeline .

Acionar manualmente um pipeline update

Use uma das seguintes opções para acionar manualmente um pipeline update:

  • Clique no botão Delta Live Tables Start Icon na página de detalhes do pipeline.
  • Nos pipelines, clique em ícone de seta para a direita nasAções .

Nota

O comportamento padrão para atualizações de pipeline acionadas manualmente é aplicar a operação refresh a todos os conjuntos de dados definidos no pipeline.

Pipeline refresh semântica

A descrição a seguir de table indica os comportamentos para views materializados e tables de streaming, considerando refresh padrão e refreshcompleto:

tipo Update Semântica da visão materializada Semântica de Streaming table
Refresh (padrão) Atualiza os resultados para refletir os resultados atuais da consulta definidora. Processa novos registros através da lógica definida em tables e fluxos de streaming.
refresh completo Atualiza os resultados para refletir os resultados atuais da consulta definidora. Limpa dados de tablesde streaming, limpa informações de estado (pontos de verificação) de fluxos e reprocessa todos os registros da fonte de dados.

Por padrão, todos os views materializados e tables de streaming em um pipeline refresh com cada update. Opcionalmente, você pode omitir tables de atualizações usando os seguintes recursos:

  • Select tables para refresh: Use esta interface do usuário para adicionar ou remove materializado views e streaming tables antes de executar um update. Consulte Iniciar uma pipeline update para tablesselecionados.
  • Refresh tables com falha: Inicie um update para views materializados com falha e tablesde streaming, incluindo dependências a jusante. Consulte Iniciar um pipeline update para tablescom falha.

Ambos os recursos suportam semântica de refresh padrão ou refreshcompleto. Opcionalmente, você pode usar a caixa de diálogo Selecttables para refresh para excluir tables adicionais ao executar um refresh para tablescom falha .

Devo usar um refreshcompleto?

O Databricks recomenda executar atualizações completas somente quando necessário. Um refresh completo sempre reprocessa todos os registros das fontes de dados especificadas por meio da lógica que define o conjunto de dados. O tempo e os recursos para concluir uma refresh completa estão correlacionados com o tamanho dos dados de origem.

Materializados views retornam os mesmos resultados, quer seja usado refresh padrão ou completo. O uso de um refresh completo com tables de streaming redefine todas as informações de ponto de verificação e processamento de estado e pode resultar em registros descartados se os dados de entrada não estiverem mais disponíveis.

O Databricks apenas recomenda um refresh completo quando as fontes de dados de entrada contêm os dados necessários para recriar o estado desejado do table ou da visualização. Considere os seguintes cenários where os dados de origem de entrada não estão mais disponíveis e o resultado da execução de um refreshcompleto:

Fonte de dados Razão pela qual os dados de entrada estão ausentes Resultado completo da refresh
Kafka Limiar de retenção curto Os registos que já não estão presentes na fonte Kafka são retirados do alvo table.
Arquivos no armazenamento de objetos Política de ciclo de vida Os arquivos de dados que não estão mais presentes no diretório de origem são descartados do tablede destino.
Registros em um table Eliminado por razões de conformidade Apenas os registos presentes no table de origem são processados.

Para evitar que atualizações completas sejam executadas em um table ou visualização, set a propriedade tablepipelines.reset.allowed para false. Veja propriedades em Delta Live Tablestable. Você também pode usar um fluxo de acréscimo para acrescentar dados a uma corrente de dados existente table sem necessitar de um refreshcompleto.

Iniciar pipeline update para tables selecionado

Opcionalmente, você pode reprocessar dados apenas para tables selecionados em seu pipeline. Por exemplo, durante o desenvolvimento, tu alteras apenas um único table e desejas reduzir o tempo de teste, ou um pipeline update falha e desejas refresh apenas os tablesfalhados.

Nota

Você pode usar a seletiva refresh apenas com os pipelines acionados.

Para iniciar um que atualiza apenas os selecionados, na página de detalhes do Pipeline :

  1. Clique em Selecttables para refresh. A caixa de diálogo Selecttables para refresh aparece.

    Se não visualizar o botão Selecttables para refresh, confirme que a página de detalhes do Pipeline exibe a versão mais recente de update e que o update está completo. Se um DAG não for mostrado para o updatemais recente, por exemplo, porque o update falhou, o botão Selecttables para refresh não será exibido.

  2. Para fazer select no tables para refresh, clique em cada table. Os tables selecionados são destacados e rotulados. Para remove um table do update, clique no table novamente.

  3. Clique Refresh selecione.

    Nota

    O botão de seleção da opção exibe o número de selecionados entre parênteses.

Para reprocessar dados já ingeridos para o selecionado, clique Blue Down Caret ao lado do botão de seleção e clique em de seleção de completo.

Inicie um pipeline update para tables com falha

Se uma update de pipeline falhar devido a erros em uma ou mais tables no gráfico de pipeline, você poderá iniciar uma update de apenas tables com falha e quaisquer dependências a jusante.

Nota

Os tables excluídos não são atualizados, mesmo que dependam de um tablefalhado.

Para com falha, na página de detalhes do pipeline , clique em com falha.

Para update, apenas os selecionados falharam tables:

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

  2. Para select o tables para refresh, clique em cada table. Os tables selecionados são destacados e rotulados. Para remove um table do update, clique novamente no table.

  3. Clique Refresh selecione.

    Nota

    O botão de seleção Refresh exibe o número de tables selecionados entre parênteses.

Para reprocessar dados já ingeridos para o selecionado, clique em Blue Down Caretao lado do botão de seleção e clique em seleção completa de .

Verifique erros num pipeline sem esperar por tables até update

Importante

O recurso Delta Live TablesValidateupdate está no Public Preview.

Para verificar se o código-fonte de um pipeline é válido sem rodar o updateinteiro, use Validar. Um Validateupdate 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 table ou column, são relatados na IU.

Para executar um Validateupdate, clique Blue Down Caret na página de detalhes do pipeline ao lado de Iniciar e clique em Validar.

Após a conclusão do Validateupdate, o log de eventos mostra eventos relacionados apenas ao Validateupdatee nenhuma métrica é exibida no DAG. Se forem encontrados erros, os detalhes estarão disponíveis no log de eventos.

Pode ver os resultados apenas para o Validateupdatemais recente. Se o Validateupdate foi o updateexecutado mais recentemente, você pode ver os resultados selecionando-o no histórico de update. Se outro update for executado após o Validateupdate, os resultados não estarão mais disponíveis na interface do usuário.

Modos de desenvolvimento e produção

Você pode optimize a execução do pipeline alternando entre os modos de desenvolvimento e produção. Use os botões Delta Live Tables Environment Toggle Icon 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 configuração pipelines.clusterShutdown.delay no Configurar computação para um pipeline 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 credentialsobsoletos .
  • 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 catalog para publicação tables devem ser configurados como parte das configurações de pipeline e não são afetados ao alternar entre modos.