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
na página de detalhes do pipeline.
- Nos
pipelines, clique em nasícone de seta para a direita Açõ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
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.
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.
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
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
Para update, apenas os selecionados falharam tables:
Clique
ao lado do botãoBotão para baixo falhou e clique em . A caixa de diálogo Selecttables para refresh é exibida.para 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.
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
Verifique erros num pipeline sem esperar por tables até 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 rodar o updateinteiro, 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 incorretos de table ou column, são relatados na IU.
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.
Pode ver os resultados apenas para o Validate
updatemais recente. 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 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.