Executar um update numa pipeline Delta Live Tables
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 realiza 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.
Ao usar um para validar update, pode-se verificar se há problemas no código-fonte de um pipeline sem esperar que tables seja criado ou atualizado. Esse recurso é útil ao desenvolver ou testar pipelines porque permite localizar rapidamente e corrigir erros no seu pipeline, como nomes incorretos table ou column.
Como as atualizações de pipeline são acionadas?
Utilize uma das seguintes opções para iniciar atualizações do pipeline:
Update disparador | Detalhes |
---|---|
Manual | Você pode acionar manualmente as atualizações de pipelines a partir da interface de utilizador dos pipelines, dos pipelines list, ou de um notebook 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 num fluxo de trabalho e API de pipeline . |
Acionar manualmente uma pipeline update
Use uma das seguintes opções para acionar manualmente um pipeline update:
- Clique no botão na página de detalhes do pipeline.
- Nos
pipelines, clique emno ícone de seta à direita 'Ações' .
Nota
O comportamento padrão para atualizações de pipeline acionadas manualmente é refresh todos os conjuntos de dados definidos no pipeline.
Pipeline refresh Semântica
A descrição de table a seguir explica os comportamentos para views materializados e streaming tables, tanto para refresh padrão quanto para refreshcompleto:
Tipo Update | Semântica da visão materializada | Semântica de transmissão 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 num 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 um pipeline update para tablesselecionados.
- Refresh tables com falha: Inicie um update para views materializados com falha e tablesde streaming, incluindo as 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, pode-se usar a janela de diálogo Selecttables de refresh para excluir tables adicionais ao executar um refresh em caso de falha de tables.
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.
Os views materializados retornam os mesmos resultados, seja refresh padrão ou completo utilizado. O uso de um refresh completo com streaming tables redefine todo o processamento de estado e a informação de ponto de verificação, e pode resultar em registos perdidos se os dados de entrada já não estiverem disponíveis.
O Databricks só recomenda refresh completo quando as fontes de dados de entrada contêm os dados necessários para recriar o estado desejado do table ou exibiçã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 de refresh |
---|---|---|
Kafka | Limiar de retenção curto | Os registos que não estão mais 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 exibição, set a propriedade tablepipelines.reset.allowed
para false
. Veja propriedades em Delta Live Tablestable. Você também pode usar um fluxo de anexação para acrescentar dados a um streaming existente table sem necessitar de uma refreshcompleta.
Iniciar um update de pipeline para tables selecionado
Você pode opcionalmente reprocessar dados apenas para os tables selecionados no seu pipeline. Por exemplo, durante o desenvolvimento, alteras apenas um único table e desejas reduzir o tempo de teste, ou um pipeline update falha e queres refresh apenas os tablesfalhados.
Nota
Você pode usar refresh seletiva apenas com pipelines acionados.
Para iniciar um update que atualiza apenas os tables selecionados, na página de detalhes do pipeline :
Clique em Selecttables para refresh. A caixa de diálogo Selecttables para refresh aparece.
Se você não vir o botão Selecttables para refresh, confirme que a página de detalhes do Pipeline exibe os detalhes mais recentes 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.
Para select o tables para refresh, clique em cada table. Os tables selecionados estão destacados e identificados. Para remove um table do update, clique no table novamente.
Clique Refresh seleção.
Nota
O botão de seleção de Refresh exibe o número de tables selecionados entre parênteses.
Para reprocessar dados já ingeridos para o
Inicie uma pipeline update para tables falhado
Se uma update falhar devido a erros em uma ou mais tables no gráfico de pipeline, pode 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 update com falha tables, na página de detalhes do pipeline , clique em Refreshtablescom falha.
Para update apenas selecionado falhou tables:
Clique
ao lado do botãoBotão para baixo falhou e clique em . A caixa de diálogo Selecttables para refresh aparece.para Para select o tables para refresh, clique em cada table. Os tables selecionados estão destacados e etiquetados. Para remove um table do update, clique no table novamente.
Clique Refresh selecionar.
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
Verifique um pipeline para erros sem esperar por tables a update
Importante
O recurso Delta Live TablesValidate
update está no Public Preview.
Para verificar se o código-fonte de um pipeline é válido sem executar um updatecompleto, use Validar. Um Validate
update 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 table ou column incorretos, são relatados na interface de utilizador.
Para executar um Validate
update, 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 Validate
update, o log de eventos mostra eventos relacionados apenas ao Validate
updatee nenhuma métrica é exibida no DAG. Se forem encontrados erros, os detalhes estarão disponíveis no log de eventos.
Você pode ver resultados apenas para o mais recente Validate
update. Se o Validate
update 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 Validate
update, 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 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 para configurar a computação de 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.