Job de execução em um programar ou continuamente

Você pode executar seu Job Databricks periodicamente com o tipo de gatilho agendado ou garantir que sempre haja uma execução ativa do Job com o tipo de gatilho contínuo .

Você pode usar um programar para executar automaticamente seu Job do Databricks em horários e períodos especificados. Você pode definir um programa para executar seu Job em períodos de minuto, hora, dia, semana ou mês e em horários especificados. Você também pode especificar um fuso horário para o seu programar e pausar um Job agendado a qualquer momento.

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

Adicionar um programador Job

Para definir um programar para o Job:

  1. Na barra lateral, clique em fluxo de trabalho.

  2. Na coluna Nome da tab Trabalhos, clique no nome do Job .

  3. Clique em Adicionar acionador no painel DetalhesJob e selecione Agendado em Tipo de acionador.

  4. Especifique o período, a hora de início e o fuso horário. Opcionalmente, selecione a caixa de seleção Show Cron Syntax para exibir e editar o programar em Quartz Cron Syntax.

  5. Clique em Salvar.

Você também pode programar um Notebook Job diretamente na IUNotebook .

Observação

  • Databricks impõe um intervalo mínimo de 10 segundos entre a execução subsequente acionada pelo programar de um Job , 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 Job de hora em hora será ignorado ou poderá parecer atrasado em uma ou duas horas quando o horário de verão começar ou terminar. Para execução a cada hora (tempo absoluto), escolha UTC.

  • O programador Job não se destina a Job de baixa latência. Devido a problemas de rede ou cloud , a execução Job pode ocasionalmente ser atrasada por vários minutos. Nestas situações, a execução Job agendada imediatamente após a disponibilidade do serviço.

pausar e retomar um Job programar

Para pausar um Job, clique em Pausar no painel de detalhesJob .

Para retomar um programar Job pausado, clique em Resume.

execução de um Jobcontínuo

  1. Na barra lateral, clique em fluxo de trabalho.

  2. Na coluna Nome da tab Trabalhos, clique no nome do Job .

  3. Clique em Adicionar acionador no painel de detalhesJob , clique em Adicionar acionador no painel de detalhesJob , selecione Contínuo em Tipo de acionador e clique em Salvar.

Para interromper um Job contínuo, clique em Acento circunflexo azul para baixo ao lado de execução Now e clique em Stop.

Observação

  • Só pode haver uma instância em execução de um Job contínuo.

  • Há um pequeno atraso entre o término de uma execução e o início de uma nova execução. Esse atraso deve ser inferior a 60 segundos.

  • Você não pode usar dependências de tarefa com um Job contínuo.

  • Você não pode usar políticas de repetição com um Job contínuo. Em vez disso, Job contínuo usa espera exponencial para gerenciar falhas na execução Job .

  • Selecionar Executar agora em uma Job contínua que está em pausa aciona a execução de uma nova Job . Se o Job não estiver em pausa, uma exceção será lançada.

  • Para que seu Job contínuo pegue uma nova configuração Job , cancele a execução existente e, em seguida, comece uma nova execução automaticamente. Você também pode clicar em Reiniciar execução para reiniciar a execução Job com a configuração atualizada.

Como as falhas são tratadas para Job contínuo?

Databricks Jobs usa um esquema de espera exponencial para gerenciar trabalhos contínuos com várias falhas consecutivas. O backoff exponencial permite a execução contínua Job sem pausa e o retorno a um estado íntegro quando ocorrem falhas recuperáveis.

Quando um Job contínuo excede o limite permitido para falhas consecutivas, o seguinte descreve como a execução Job subsequente é gerenciada:

  1. O Job é reiniciado após um período de repetição definido pelo sistema.

  2. Se a próxima execução Job falhar, o período de repetição aumentará e a Job será reiniciada após esse novo período de repetição.

    1. Para cada falha subsequente na execução Job , o período de novas tentativas é aumentado novamente, até um período máximo de novas tentativas definido pelo sistema. Depois de atingir o período máximo de novas tentativas, o Job continua a ser repetido usando o período máximo de novas tentativas. Não há limite para o número de novas tentativas para um Job contínuo.

    2. Se a execução do Job for concluída com sucesso e começar uma nova execução, ou se a execução exceder um limite sem falha, o Job será considerado íntegro e a sequência de espera Reset.

Você pode reiniciar um Job contínuo no estado de espera exponencial na UI do Jobs ou passando o ID Job para o POST /api/2.1/Job/execução-now request na API Jobs 2.1 ou no POST /api/2.0/Job/execução-now solicitação na API Jobs 2.0.