Share via


Executar trabalhos em um agendamento ou continuamente

Você pode executar seu trabalho do Azure Databricks periodicamente com o tipo de gatilho Agendado ou garantir que sempre haja uma execução ativa do trabalho com o tipo de gatilho Contínuo.

Você pode usar uma agenda para executar automaticamente seu trabalho do Azure Databricks em horários e períodos especificados. Você pode definir um agendamento para executar seu trabalho em períodos de minutos, por hora, diários, semanais ou mensais e em horários especificados. Você também pode especificar um fuso horário para sua agenda e pausar um trabalho agendado a qualquer momento.

Quando você executa seu trabalho com o gatilho contínuo, os Trabalhos do Azure Databricks garantem que sempre haja uma execução ativa do trabalho. Uma nova execução de trabalho é iniciada após a execução anterior ser concluída com êxito ou com um status com falha ou se não houver nenhuma instância do trabalho em execução no momento.

Adicionar um agendamento de trabalho

Para definir um agendamento para o trabalho:

  1. Na barra lateral, clique em Workflows.
  2. Na coluna Nome na guia Trabalhos, clique no nome do trabalho.
  3. Clique em Adicionar gatilho no painel Detalhes do trabalho e selecione Agendado no Tipo de gatilho.
  4. Especifique o período, a hora de início e o fuso horário. Opcionalmente, marque a caixa de seleção Mostrar sintaxe Cron para exibir e editar o agendamento na Sintaxe Quartz Cron.
  5. Clique em Save (Salvar).

Você também pode agendar um trabalho em notebook diretamente na interface do usuário do notebook.

Observação

  • O Azure Databricks impõe um intervalo mínimo de 10 segundos entre as execuções subsequentes disparadas pelo agendamento de um trabalho, independentemente da configuração de segundos na expressão Cron.
  • Você pode escolher um fuso horário que siga o horário de verão ou UTC. Se você selecionar um fuso horário que observe o horário de verão, um trabalho por hora será ignorado ou poderá parecer estar atrasado em uma ou duas horas quando o horário de verão começar ou terminar. Para ser executado a cada hora (hora absoluta), escolha UTC.
  • O agendador de trabalho não se destina a trabalhos de baixa latência. Devido a problemas de rede ou de nuvem, as execuções de trabalho podem ocasionalmente ser atrasadas em até vários minutos. Nessas situações, os trabalhos agendados são executados imediatamente após a disponibilidade do serviço.

Pausar e retomar um agendamento de trabalho

Para pausar um trabalho, clique em Pausar no painel Detalhes do trabalho.

Para retomar uma agenda de trabalho pausada, clique em Retomar.

Executar um trabalho contínuo

  1. Na barra lateral, clique em Workflows.
  2. Na coluna Nome na guia Trabalhos, clique no nome do trabalho.
  3. Clique em Adicionar gatilho no painel Detalhes do trabalho, clique em Adicionar gatilho no painel Detalhes do trabalho, selecione Contínuo no Tipo de gatilho e clique em Salvar.

Para interromper um trabalho contínuo, clique Blue Down Caret ao lado de Executar Agora e clique em Parar.

Observação

  • Pode haver apenas uma instância em execução de um trabalho contínuo.
  • Há um pequeno atraso entre um término de execução e um novo início de execução. Esse atraso deve ser inferior a 60 segundos.
  • Você não pode usar dependências de tarefa com um trabalho contínuo.
  • Você não pode usar políticas de repetição com um trabalho contínuo. Em vez disso, trabalhos contínuos usam retirada exponencial para gerenciar falhas de execução de trabalho.
  • Selecionar Executar agora em um trabalho contínuo que está em pausa dispara uma nova execução de trabalho. Se o trabalho não for utilizado, uma exceção será gerada.
  • Para que seu trabalho contínuo escolha uma nova configuração de trabalho, cancele a execução existente e, em seguida, uma nova execução será iniciada automaticamente. Você também pode clicar em Reiniciar execução para reiniciar a execução do trabalho com a configuração atualizada.

Como as falhas são tratadas para trabalhos contínuos?

O Azure Databricks Jobs usa um esquema de retirada exponencial para gerenciar trabalhos contínuos com várias falhas consecutivas. A retirada exponencial permite que trabalhos contínuos executem sem pausar e retornem a um estado íntegro quando ocorrerem falhas recuperáveis.

Quando um trabalho contínuo excede o limite permitido para falhas consecutivas, o seguinte descreve como as execuções de trabalho subsequentes são gerenciadas:

  1. O trabalho é reiniciado após um período de repetição definido pelo sistema.
  2. Se a próxima execução de trabalho falhar, o período de repetição será aumentado e o trabalho será reiniciado após esse novo período de repetição.
    1. Para cada falha de execução de trabalho subsequente, o período de repetição é aumentado novamente, até um período máximo de repetição definido pelo sistema. Depois de atingir o período máximo de repetição, o trabalho continua a ser repetido usando o período máximo de repetição. Não há limite para o número de repetições para um trabalho contínuo.
    2. Se a execução do trabalho for concluída com êxito e iniciar uma nova execução ou se a execução exceder um limite sem falha, o trabalho será considerado íntegro e a sequência de retirada será redefinida.

Você pode reiniciar um trabalho contínuo no estado de retirada exponencial na interface do usuário de Trabalhos ou passando a ID do trabalho para a solicitação POST /api/2.1/jobs/run-now na API Jobs 2.1 ou na solicitação POST /api/2.0/jobs/run-now na API Jobs 2.0.