execução de uma atualização em um pipeline Delta Live Tables

Este artigo explica as atualizações do site pipeline e fornece detalhes sobre como acionar uma atualização.

O que é uma atualização de pipeline?

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.

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

Use uma das opções a seguir para começar pipeline atualizações:

Atualizar gatilho

Detalhes

Manual

O senhor pode acionar manualmente as atualizações do pipeline na interface do usuário do pipeline, na lista de pipeline ou em um Notebook anexado ao pipeline. Consulte Acionar manualmente uma atualização do pipeline e Desenvolver e depurar o pipeline do Delta Live Tables no Notebook.

Agendado

O senhor pode programar atualizações para o pipeline usando o Job. Consulte Delta Live Tables pipeline tarefa for Job.

Programático

O senhor pode acionar atualizações de forma programática usando ferramentas de terceiros, APIs e CLIs. Veja execução a Delta Live Tables pipeline em um fluxo de trabalho e pipeline API.

Acionar manualmente uma atualização do pipeline

Use uma das seguintes opções para acionar manualmente uma atualização do pipeline:

  • Clique no Delta Live Tables começar Icon botão na página de detalhes do pipeline.

  • Na lista de pipelines, clique em Ícone de seta para a direita na coluna Ações .

Observação

O comportamento default para atualizações pipeline acionadas manualmente é refresh todos os conjuntos de dados definidos no pipeline.

Semântica de atualização do pipeline

A tabela a seguir descreve os comportamentos da visualização materializada e das tabelas de transmissão para default refresh e refresh completo:

Tipo de atualização

Materializado view semântica

semântica da tabela de transmissão

refresh (default)

Atualiza os resultados para refletir os resultados atuais da consulta definidora.

Processa novos registros por meio da lógica definida em tabelas e fluxos de transmissão.

refresh completo

Atualiza os resultados para refletir os resultados atuais da consulta definidora.

Limpa os dados das tabelas de transmissão, limpa as informações de estado (pontos de verificação) dos fluxos e reprocessa todos os registros da fonte de dados.

Por default, todas as tabelas de visualização e transmissão materializadas em um pipeline refresh a cada atualização. Opcionalmente, o senhor pode omitir tabelas das atualizações usando o seguinte recurso:

  • Selecionar tabelas para refresh: Use esta interface do usuário para adicionar ou remover a visualização materializada e as tabelas de transmissão antes de executar uma atualização. Consulte começar a pipeline update para tabelas selecionadas.

  • Atualizar tabelas com falha: começar uma atualização para a visualização materializada com falha e tabelas de transmissão, incluindo dependências downstream. Consulte pipeline update for failed tables.

Ambos os recursos suportam a semântica default refresh ou a refresh completa. Opcionalmente, o senhor pode usar a caixa de diálogo Select tables for refresh para excluir tabelas adicionais ao executar um refresh para tabelas com falha.

Devo usar uma atualização completa?

Databricks recomenda executar a atualização completa somente quando necessário. Um refresh completo sempre reprocessa todos os registros da fonte de dados especificada por meio da lógica que define o dataset. O tempo e o recurso para concluir um refresh completo estão correlacionados ao tamanho dos dados de origem.

A visualização materializada retorna os mesmos resultados, quer seja usada a default ou a refresh completa. Usar um refresh completo com tabelas de transmissão redefine todas as informações de processamento de estado e de ponto de verificação e pode resultar em registros descartados se os dados de entrada não estiverem mais disponíveis.

Databricks recomenda apenas o refresh completo quando a fonte de dados de entrada contém os dados necessários para recriar o estado desejado da tabela ou view. 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 um refresh completo:

Origem de dados

Motivo pelo qual os dados de entrada estão ausentes

Resultado da refresh

Kafka

Limite de retenção curto

Os registros que não estão mais presentes na fonte do Kafka são descartados 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 eliminados da tabela de destino.

Registros em uma tabela

Eliminado para compliance

Somente os registros presentes na tabela de origem são processados.

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.

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 :

  1. 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.

  2. 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.

  3. 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 Acento circunflexo azul para baixo 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:

  1. Clique Botão para baixo 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.

  2. 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.

  3. 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 Acento circunflexo azul para baixo 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 Acento circunflexo azul para baixo 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.

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 Ícone de alternância do ambiente Delta Live Tables 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.