Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica as atualizações de pipeline e fornece detalhes sobre como iniciar uma atualização.
O que é uma atualização de pipeline?
Depois de criar um pipeline e estiver pronto para executá-lo, inicie uma atualização. Uma atualização de pipeline faz o seguinte:
- Inicia um cluster com a configuração correta.
- Descobre todas as tabelas e exibições definidas e verifica se há erros de análise, como nomes de coluna não válidos, dependências ausentes e erros de sintaxe.
- Cria ou atualiza tabelas e exibições com os dados mais recentes disponíveis.
Usando uma atualização de validação, você 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 pipelines, pois permite que você localize e corrija rapidamente erros em seu pipeline, como nomes de tabelas ou colunas incorretos.
Como as atualizações de pipeline são disparadas?
Utilize uma das seguintes opções para iniciar as atualizações do pipeline:
Gatilho de atualização | Detalhes |
---|---|
Manual | Você pode acionar manualmente atualizações de pipeline na interface de usuário do pipeline, na lista de pipelines ou em um notebook associado a um pipeline. Veja Acionar manualmente uma atualização de pipeline e Desenvolver e depurar pipelines ETL com um notebook em Pipelines Declarativos do Lakeflow. |
Agendado | Você pode agendar atualizações para pipelines usando tarefas. Consulte a tarefa Pipeline para trabalhos. |
Programático | Você pode disparar atualizações programaticamente usando ferramentas, APIs e CLIs de terceiros. Consulte Run Lakeflow Declarative Pipelines em um fluxo de trabalho e a API de Pipeline. |
Disparar manualmente uma atualização de pipeline
Use uma das seguintes opções para disparar manualmente uma atualização de pipeline:
- Clique no botão
na página de detalhes do pipeline.
- Na lista de pipelines, clique em
na coluna Ações.
Observação
O comportamento padrão para atualizações de pipeline disparadas manualmente é atualizar todos os conjuntos de dados definidos no pipeline.
Semântica de atualização do pipeline
A tabela a seguir descreve o comportamento padrão de atualização, atualização completa e redefinição de pontos de verificação para exibições materializadas e tabelas de streaming:
Tipo de atualização | Visão materializada | Tabela de streaming |
---|---|---|
Atualizar (padrão) | Atualiza os resultados para refletir os resultados atuais da consulta de definição. | Processa novos registros por meio da lógica definida em fluxos e tabelas de streaming. |
Atualização completa | Atualiza os resultados para refletir os resultados atuais da consulta de definição. | Limpa dados de tabelas de streaming, limpa informações de estado (pontos de verificação) dos fluxos e reprocessa todos os registros da fonte de dados. |
Redefinir os pontos de verificação de fluxo de streaming | Não aplicável a visões materializadas. | Limpa informações de estado (pontos de verificação) de fluxos, mas não limpa dados de tabelas de streaming e reprocessa todos os registros da fonte de dados. |
Por padrão, todas as exibições materializadas e tabelas de streaming em um pipeline são atualizadas com cada atualização. Opcionalmente, você pode omitir tabelas de atualizações usando os seguintes recursos:
- Selecione tabelas para atualização: use essa interface do usuário para adicionar ou remover exibições materializadas e tabelas de streaming antes de executar uma atualização. Consulte Iniciar uma atualização do pipeline nas tabelas selecionadas.
- Atualizar tabelas com falha: Inicie uma atualização para visões materializadas e tabelas de streaming com falha, incluindo suas dependências subsequentes. Consulte Iniciar uma atualização do pipeline nas tabelas com falha.
Ambos os recursos dão suporte à semântica de atualização padrão ou à atualização completa. Opcionalmente, você pode usar a caixa de diálogo Selecionar tabelas para atualização para excluir tabelas adicionais ao executar uma atualização para tabelas com falha.
Para tabelas de streaming, você pode optar por limpar os pontos de verificação de streaming para fluxos selecionados e não os dados das tabelas de streaming associadas. Para limpar os pontos de verificação para fluxos selecionados, use a API REST do Databricks para iniciar uma atualização. Consulte Iniciar uma atualização de pipeline para limpar os pontos de verificação dos fluxos de streaming seletivos.
Devo usar uma atualização completa?
O Databricks recomenda executar atualizações completas somente quando necessário. Uma atualização completa 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 atualização completa estão correlacionados ao tamanho dos dados de origem.
As exibições materializadas retornam os mesmos resultados se a atualização padrão ou completa for usada. O uso de uma atualização completa com tabelas de streaming redefine todas as informações de processamento de estado e ponto de verificação e pode resultar em registros descartados se os dados de entrada não estiverem mais disponíveis.
O Databricks só recomenda a atualização completa quando as fontes de dados de entrada contêm os dados necessários para recriar o estado desejado da tabela ou exibição. Considere os seguintes cenários em que os dados da fonte de entrada não estão mais disponíveis e o resultado da execução de uma atualização completa:
Fonte de dados | Motivo pelo qual os dados de entrada estão ausentes | Resultado da atualização completa |
---|---|---|
Kafka | Limite de retenção curto | Os registros que não estão mais presentes na origem do Kafka são removidos da tabela de destino. |
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 removidos da tabela de destino. |
Registros em uma tabela | Excluído para conformidade | Somente os registros presentes na tabela de origem são processados. |
Para impedir que atualizações completas sejam executadas em uma tabela ou exibição, defina a propriedade pipelines.reset.allowed
da tabela como false
. Consulte as propriedades da tabela Lakeflow Declarative Pipelines. Você também pode usar um fluxo de acréscimo para acrescentar dados a uma tabela de streaming existente sem a necessidade de uma atualização completa.
Iniciar uma atualização de pipeline nas tabelas selecionadas
Opcionalmente, você pode reprocessar dados apenas para tabelas selecionadas em seu pipeline. Por exemplo, durante o desenvolvimento, você só altera 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
A atualização seletiva funciona apenas com pipelines acionados. Para usá-lo em um pipeline contínuo, alterne para o modo disparado, execute a atualização seletiva e, em seguida, retorne ao modo contínuo.
Para iniciar uma atualização que atualize apenas as tabelas selecionadas, na página de detalhes do Pipeline :
Clique em Selecionar tabelas para atualizar. A caixa de diálogo Selecionar tabelas para atualização é exibida.
Se você não vir o botão Selecionar tabelas para atualizar, confirme se a página Detalhes do Pipeline exibe a atualização mais recente e se a atualização está concluída. Se um DAG não for mostrado para a atualização mais recente, por exemplo, como a atualização falhou, o botão Selecionar tabelas para atualização não será exibido.
Para selecionar as tabelas a serem atualizadas, clique em cada tabela. As tabelas selecionadas são realçadas e rotuladas. Para remover uma tabela da atualização, clique na tabela novamente.
Clique em Atualizar seleção.
Observação
O botão Atualizar seleção exibe o número de tabelas selecionadas entre parênteses.
Para reprocessar dados já ingeridos para as tabelas selecionadas, clique em ao lado do botão Atualizar seleção e clique na seleção De Atualização Completa.
Iniciar uma atualização de pipeline nas tabelas com falha
Se uma atualização de pipeline falhar devido aos 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 Atualizar tabelas com falha.
Para atualizar apenas as tabelas com falha selecionadas:
Clique
ao lado do botão Atualizar tabelas com falha e clique em Selecionar tabelas para atualização. A caixa de diálogo Selecionar tabelas para atualização é exibida.
Para selecionar as tabelas a serem atualizadas, clique em cada tabela. As tabelas selecionadas são realçadas e rotuladas. Para remover uma tabela da atualização, clique na tabela novamente.
Clique em Atualizar seleção.
Observação
O botão Atualizar seleção exibe o número de tabelas selecionadas entre parênteses.
Para reprocessar dados já ingeridos para as tabelas selecionadas, clique em ao lado do botão Atualizar seleção e clique na seleção De Atualização Completa.
Iniciar uma atualização de pipeline para limpar os pontos de verificação dos fluxos de streaming seletivos
Opcionalmente, você pode reprocessar dados para fluxos de streaming selecionados em seu pipeline sem limpar dados já ingeridos.
Observação
Os fluxos que não estão selecionados são executados usando uma atualização REFRESH. Você também pode especificar full_refresh_selection
ou refresh_selection
atualizar seletivamente outras tabelas.
Para iniciar uma atualização para atualizar os pontos de verificação de streaming selecionados, use a solicitação de atualizações na API REST do Lakeflow Declarative Pipelines. O exemplo a seguir usa o curl
comando para chamar a solicitação updates
para iniciar uma atualização de pipeline:
curl -X POST \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"reset_checkpoint_selection": [<streaming flow1>, <streaming flow 2>...]
}' \
https://<your-databricks-instance>/api/2.0/pipelines/<your-pipeline-id>/updates
Verificar se há erros em um pipeline sem esperar que as tabelas se atualizem
Importante
O recurso de atualização de Pipelines Declarativos Validate
do Lakeflow 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 Validate
atualização resolve as definições de conjuntos de dados e fluxos definidos no pipeline, mas não materializa nem publica nenhum conjunto de dados. Erros encontrados durante a validação, como nomes de tabela ou coluna incorretos, são relatados na interface do usuário.
Para executar uma atualização Validate
, clique em na página de detalhes do pipeline ao lado de Iniciar e clique em Validar.
Após a conclusão da Validate
atualização, o log de eventos mostra eventos relacionados apenas à Validate
atualização e nenhuma métrica é exibida no DAG. Se forem encontrados erros, os detalhes estarão disponíveis no log de eventos.
Você pode ver os resultados apenas para a atualização de Validate
mais recente. Se a Validate
atualização foi a atualização de execução mais recente, você poderá ver os resultados selecionando-os no histórico de atualizações. Se outra atualização for executada após a Validate
atualização, os resultados não estarão mais disponíveis na interface do usuário.
Modos de desenvolvimento e produção
Você pode otimizar 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 o pipeline no modo de desenvolvimento, o sistema Lakeflow Declarative Pipelines faz o seguinte:
- Reutiliza o 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 de
pipelines.clusterShutdown.delay
no Configurar computação para Pipelines Declarativos do Lakeflow. - Desabilita as recuperações de pipeline para que você possa detectar e corrigir erros imediatamente.
No modo de produção, o sistema Lakeflow Declarative Pipelines faz o seguinte:
- Reinicia o cluster para erros recuperáveis específicos, incluindo vazamentos de memória e credenciais obsoletas.
- Tenta a execução novamente no caso de erros específicos, como uma falha ao iniciar um cluster.
Observação
Alternar entre os modos de desenvolvimento e produção controla apenas o comportamento de execução de cluster e pipeline. Locais de armazenamento e esquemas de destino no catálogo para tabelas de publicação devem ser configurados como parte das configurações de pipeline e não são afetados ao alternar entre os modos.