Trabalho de preenchimento
Depois de criar um Job que será executado em um programa, há momentos em que você precisa preencher dados no sistema. Por exemplo:
- Um erro no sistema fez com que dados fossem perdidos ao longo do tempo. Você precisa preencher os dados para esse intervalo de datas.
- Você quer trazer dados de antes do sistema ser executado para análise histórica.
Um preenchimento de dados deve usar a mesma automação de tarefas que você usa para manter seus dados atualizados. Os preenchimentos Job permitem que você execute tarefas usando sua automação existente para diferentes intervalos de datas.
Como funciona um aterro?
Um preenchimento executa seu trabalho várias vezes com parâmetros diferentes para recriar a execução do trabalho a partir de um intervalo de datas anterior. Para criar um preenchimento, selecione o intervalo de datas que deseja preencher e o intervalo de tempo usado para dividir o intervalo em Execução de tarefa. Quando você executa o backfill, ele gera o número de execuções com base no intervalo de datas e tempo selecionados.
Você pode configurar o preenchimento para substituir os parâmetros existentes que são passados para cada execução ou pode adicionar novos parâmetros que o Job usa quando presentes.
O trabalho deve manipular os parâmetros que você fornecer para processar os dados corretos para o intervalo de datas de preenchimento. Isso pode exigir alterações no seu trabalho. Para obter um exemplo de como criar uma consulta que manipula corretamente um intervalo de datas, consulte o tutorial Configurar uma consulta recorrente com suporte de preenchimento usando LakeFlow Jobs.
Como os intervalos de datas geram a execução do trabalho?
Um backfill normalmente consiste em várias execuções de Job definidas para o mesmo intervalo de tempo que sua execução de Job regular ao longo do tempo que você precisa para o backfill. Ao usar o mesmo intervalo de tempo do seu Job regular, o desempenho e as otimizações que você configurou no seu Job são mantidos. Dividir o preenchimento em várias execuções também permite que elas sejam acionadas em paralelo, concluindo o preenchimento mais rapidamente.
Por exemplo, se você teve erros no seu processamento horário nos dias 9 e 10 de agosto, você precisa gerar um preenchimento para cobrir os dados que foram perdidos nesses dias. Crie um preenchimento para esses dois dias, dando um intervalo de tempo de 1 hora. Isso aciona até 48 execuções, uma para cada hora de dados no intervalo de datas. Cada execução recebe parâmetros para a hora em que deve ser processada.
Como os preenchimentos são executados em paralelo?
Um preenchimento que tem mais de um intervalo de tempo em seu intervalo de datas aciona múltiplas execuções, que podem ser executadas em paralelo em muitos casos. Como você pode configurar a execução paralela?
Os trabalhos têm um limite máximo de simultaneidade. Por default esse valor é definido como um, mas você pode definir um valor maior. Isso está nas configurações do trabalho e pode ser acessado em Configurações avançadas :
-
No seu workspace, clique em
Empregos e pipeline na barra lateral.
-
Clique no nome do trabalho para o qual você deseja editar as configurações. Isso abre a página de detalhes do monitoramento do trabalho.
-
As configurações são mostradas no painel direito. Selecione Configurações avançadas .
-
Em Configurações avançadas , você pode editar a execução máxima concorrente clicando em
.
Definir isso como um número maior que um permite esse número de execuções de tarefas paralelas. Por exemplo, definir isso como
2
permite que duas execuções de Job sejam executadas ao mesmo tempo.
Trabalhos com pipeline tarefa não podem ser executados em paralelo e exibem um aviso. Veja Limitações.
Pré-requisitos
Seu trabalho deve oferecer suporte a um parâmetro para uma data ou hora usada para obter os dados corretos no processo de preenchimento. Muitos trabalhos executados em um programa regular já têm um parâmetro que usa um tempo que você pode substituir, mas você também pode definir um parâmetro exclusivo para seus preenchimentos.
Como criar um preenchimento
Você cria um preenchimento por meio da interface do usuário do trabalho.
-
No seu workspace, clique em
Empregos e pipeline na barra lateral.
-
Clique no nome do trabalho para o qual você deseja criar um preenchimento. Isso abre a página de detalhes do monitoramento do trabalho.
-
Clique na seta para baixo (re:[ícone de seta para baixo]) ao lado de execução agora no topo da página.
-
Selecione execução backfill no menu suspenso que aparece. Isso abre a caixa de diálogo preenchimento de execução .
-
Selecione um intervalo de data e hora para o intervalo que você deseja preencher.
-
Databricks escolhe um intervalo de tempo default para seus preenchimentos, com base no seu gatilho ou programa. Se você quiser alterar o intervalo de tempo, nos menus suspensos à direita de A cada , selecione o intervalo de tempo desejado. Por exemplo, para usar um intervalo de tempo de 1 hora, escolha 1 e Hora para o intervalo de tempo. Na parte inferior da caixa de diálogo, a interface inclui uma nota sobre o número de novas execuções que suas seleções geram.
Se o seu preenchimento dividir o intervalo de datas em mais de 100 execuções, um aviso aparecerá quando você estiver configurando e não será possível iniciar os preenchimentos. Neste caso, você deve alterar seu intervalo de data e hora em vários passos com menos de 100 execuções cada. Você pode fazer isso com vários preenchimentos ou aumentando o intervalo de tempo para os preenchimentos.
-
Em ParâmetrosJob , seus parâmetros existentes são exibidos com chave e valores. Se você tiver um parâmetro ou conjunto de parâmetros para o intervalo de datas do trabalho, poderá substituí-los editando o campo Valor . Caso contrário, você pode criar um novo parâmetro adicionando uma nova chave e Valor .
Por exemplo, se o seu Job usar o tempo de acionamento do Job como um parâmetro iso datetime, você poderá substituir esse parâmetro por
{{backfill.iso_datetime}}
. Para ver uma lista de possíveis referências de valor, clique no botão { } ao lado do valor que deseja substituir e selecione uma referência para inseri-la no campo Valor .Você também pode adicionar outros parâmetros que não estão na sua lista de parâmetros normal, que podem ser captados pela sua automação. Por exemplo, se você quiser ter um processamento diferente para um trabalho de preenchimento, poderá adicionar um parâmetro
backfill
definido comotrue
. -
Opcionalmente, substitua quaisquer outros parâmetros usados para controlar o trabalho para corresponder aos dados que você deseja preencher.
-
Clique em execução para iniciar a execução do preenchimento.
As execuções de backfill aparecem na lista de execuções com o texto Backfill
em seu nome, para diferenciá-las de outras execuções de Job.
Limitações
-
Os preenchimentos são sempre executados de forma completa. Você não pode executar um subconjunto de tarefas ou tabelas em um preenchimento.
-
Limitações específicas do pipeline declarativo LakeFlow :
- tarefas de pipeline não são parametrizadas. O pipeline é executado como está.
- A tarefa do pipeline não pode ser executada simultaneamente, portanto, o trabalho com a tarefa pipeline é executado sequencialmente, e não em paralelo. Um aviso é exibido na caixa de diálogo de preenchimento de execução quando isso acontece e em Configurações , se você definir a execução concorrente máxima maior que 1 quando houver uma tarefa pipeline no Trabalho.
Databricks recomenda o preenchimento do pipeline declarativo LakeFlow usando a funcionalidade de anexação única pipeline . Para obter mais informações, consulte Preenchimento histórico de dados com pipeline declarativo LakeFlow.
Próximos passos
Para ver um tutorial que mostra como criar uma consulta e parâmetros que podem ser usados por um trabalho de preenchimento, consulte Configurar uma consulta recorrente com suporte de preenchimento usando trabalhos LakeFlow.