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 botão na página de detalhes do pipeline.
Na lista de pipelines, clique em 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 derefresh 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 defull 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 :
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.
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.
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 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:
Clique 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.
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.
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 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 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 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:
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).
Insira um nome para o Job no campo NomeJob .
Configure o programar para programard.
Especifique o período, a hora de início e o fuso horário.
Configure um ou mais endereços email para receber alertas sobre início de pipeline, sucesso ou falha.
Clique em Criar.