Executar trabalhos de forma programada ou contínua

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 cronograma para executar seu trabalho em períodos minuciosos, horários, 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, o Azure Databricks Jobs garante que sempre haja uma execução ativa do trabalho. Uma nova execução de trabalho é iniciada depois que a execução anterior é concluída com êxito ou com um status de falha, ou se não houver nenhuma instância do trabalho em execução no momento.

Adicionar uma agenda de trabalho

Para definir um cronograma para o trabalho:

  1. Na barra lateral, clique em Fluxos de trabalho.
  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 do Cron para exibir e editar a programação no Quartz Cron Syntax.
  5. Clique em Guardar.

Você também pode agendar um trabalho de bloco de anotações diretamente na interface do usuário do bloco de anotações.

Nota

  • O Azure Databricks impõe um intervalo mínimo de 10 segundos entre as execuções subsequentes acionadas pelo agendamento de um trabalho, independentemente da configuração de segundos na expressão cron.
  • Você pode escolher um fuso horário que observe 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 atrasado em uma ou duas horas quando o horário de verão começar ou terminar. Para executar a cada hora (hora absoluta), escolha UTC.
  • O agendador de tarefas não se destina a trabalhos de baixa latência. Devido a problemas de rede ou nuvem, as execuções de tarefas podem, ocasionalmente, ser atrasadas 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 cronograma 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 Fluxos de trabalho.
  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 ao lado de Executar agora e cliqueBlue Down Caretem Parar.

Nota

  • Pode haver apenas uma instância em execução de um trabalho contínuo.
  • Há um pequeno atraso entre o término de uma corrida e o início de uma nova corrida. Este atraso deve ser inferior a 60 segundos.
  • Não é possível usar dependências de tarefas com um trabalho contínuo.
  • Não é possível usar políticas de repetição com um trabalho contínuo. Em vez disso, os trabalhos contínuos usam backoff exponencial para gerenciar falhas de execução de trabalho.
  • Selecionar Executar agora em um trabalho contínuo pausado aciona uma nova execução de trabalho. Se o trabalho não estiver pausado, uma exceção será lançada.
  • Para que seu trabalho contínuo pegue uma nova configuração de trabalho, cancele a execução existente e, em seguida, uma nova execução é iniciada automaticamente. Você também pode clicar em Reiniciar execução para reiniciar a execução do trabalho com a configuração atualizada.

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

Os Trabalhos do Azure Databricks usam um esquema de backoff exponencial para gerenciar trabalhos contínuos com várias falhas consecutivas. O backoff exponencial permite que trabalhos contínuos sejam executados sem pausa 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 do 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 novas tentativas 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 backoff será redefinida.

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