Passar o contexto sobre a execução Job para a tarefa Job

Você pode usar referências de valor dinâmico para passar o contexto sobre uma execução Job ou tarefa, como o nome do Job ou tarefa, o identificador de uma execução ou a hora de início de uma execução Job . Referências de valores dinâmicos são variáveis de modelo que são substituídas pelos valores apropriados durante a execução da tarefa Job . Quando uma Job é executada, a variável de parâmetro da tarefa entre chaves duplas é substituída e anexada a um valor strings opcional incluído como parte do valor. Por exemplo, para transmitir um parâmetro denominado MyJobId com um valor my-job-6 para qualquer execução do ID de Job 6, adicione o seguinte parâmetro de tarefa:

{
  "MyJobID": "my-job-{{job.id}}"
}

O conteúdo das chaves duplas não é avaliado como expressões, portanto você não pode realizar operações ou funções entre chaves duplas.

Identificadores fornecidos pelo usuário, por exemplo, nomes de tarefa, key de valor de tarefa ou nomes de parâmetros Job contendo caracteres especiais devem ser escapados colocando os identificadores entre crases ( ` ` ). Somente caracteres alfanuméricos e sublinhados podem ser usados sem escape.

{
  "VariableWithSpecialChars": "{{job.parameters.`param$@`}}"
}

Erros de sintaxe em referências (por exemplo, uma chave ausente) são ignorados e o valor é tratado como strings literais. Por exemplo, {{my.value} é passado como strings "{{my.value}". No entanto, não é permitido inserir uma referência inválida que pertença a um namespace conhecido (por exemplo, {{job.naem}}). Uma mensagem de erro será exibida se uma referência inválida pertencente a um namespace conhecido for inserida na UI.

Após a conclusão de uma tarefa, você poderá ver os valores resolvidos dos parâmetros em Parâmetros na página de detalhes da execução.

Referências de valores compatíveis

As seguintes referências de valores dinâmicos são suportadas:

Referência

Descrição

{{job.id}}

O identificador exclusivo atribuído ao Job.

{{job.name}}

O nome do Job no momento da execução do Job .

{{job.run_id}}

O identificador exclusivo atribuído à execução do Job .

{{job.repair_count}}

O número de tentativas de reparo na execução Job atual.

{{job.start_time.[argument]}}

Um valor baseado na hora (no fuso horário UTC) em que a execução Job começa. O valor de retorno é baseado na opção argument . Consulte Opções para valores de data e hora.

{{job.parameters.[name]}}

O valor do parâmetro de nível Jobcom a key [name].

{{job.trigger.type}}

O tipo de acionador da execução do site Job. Os valores possíveis são periodic, onetime, run_job_task, file_arrival, continuous e table.

{{job.trigger.file_arrival.location}}

Se um gatilho de chegada de arquivo estiver configurado para este Job, o valor do local de armazenamento.

{{job.trigger.time.[argument]}}

Um valor baseado na hora (no fuso horário UTC) em que a execução Job foi acionada, arredondado para o minuto mais próximo do Job com um programar cron. O valor de retorno é baseado na opção argument . Consulte Opções para valores de data e hora.

{{task.name}}

O nome da tarefa atual.

{{task.run_id}}

O identificador exclusivo da execução da tarefa atual.

{{task.execution_count}}

O número de vezes que a tarefa atual foi executada (incluindo novas tentativas e reparos).

{{task.notebook_path}}

O caminho Notebook da tarefa atual Notebook .

{{tasks.[task_name].run_id}}

O identificador exclusivo atribuído à execução da tarefa para [task_name].

{{tasks.[task_name].result_state}}

O estado do resultado da tarefa [task_name]. Os valores possíveis são success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted e upstream_failed.

{{tasks.[task_name].execution_count}}

O número de vezes que a tarefa [task_name] foi executada (incluindo novas tentativas e reparos).

{{tasks.[task_name].notebook_path}}

O caminho para o Notebook da tarefa Notebook [task_name].

{{tasks.[task_name].values.[value_name]}}

O valor da tarefa com a key [value_name] que foi configurada pela tarefa [task_name].

{{workspace.id}}

O identificador exclusivo atribuído ao workspace.

{{workspace.url}}

A URL do workspace.

Você pode definir essas referências com qualquer tarefa ao criar um Job, editar um Job ou executar um Job com parâmetros diferentes.

Você também pode passar parâmetros entre tarefas em um Job com valores de tarefa. Consulte Compartilhar informações entre tarefas em um Jobdo Databricks.

Opções para valores de data e hora

Use os argumentos a seguir para especificar o valor de retorno das variáveis de parâmetro baseadas em tempo. Todos os valores de retorno são baseados em um carimbo de data/hora no fuso horário UTC.

Argumento

Descrição

iso_weekday

Retorna um dígito de 1 a 7, representando o dia da semana do carimbo de data/hora.

is_weekday

Retornará true se o carimbo de data/hora estiver em um dia da semana.

iso_date

Retorna a data no formato ISO.

iso_datetime

Retorna a data e a hora no formato ISO.

year

Retorna a parte do ano do carimbo de data/hora.

month

Retorna a parte do mês do carimbo de data/hora.

day

Retorna a parte do dia do carimbo de data/hora.

hour

Retorna a parte horária do carimbo de data/hora.

minute

Retorna a parte dos minutos do carimbo de data/hora.

second

Retorna a segunda parte do carimbo de data/hora.

timestamp_ms

Retorna o carimbo de data/hora em milissegundos.

Variáveis de parâmetro obsoletas

As seguintes variáveis de parâmetro estão obsoletas. Embora ainda sejam suportados, qualquer novo Job ou atualizações de Job existentes devem usar as referências de valores suportadas. A referência de substituição recomendada está incluída na descrição de cada variável.

Variável

Descrição

{{job_id}}

O identificador exclusivo atribuído a um Job. Use job.id em vez disso.

{{run_id}}

O identificador exclusivo atribuído a uma execução de tarefa. Use task.run_id em vez disso.

{{start_date}}

A data em que uma tarefa começa. O formato é aaaa-MM-dd no fuso horário UTC. Use job.start_time.[argument] em vez disso.

{{start_time}}

O carimbo de data/hora do início da execução após os clusters serem criados e prontos. O formato é milissegundos desde a época do UNIX no fuso horário UTC, conforme retornado por System.currentTimeMillis(). Use job.start_time.[format] em vez disso.

{{task_retry_count}}

O número de tentativas de execução de uma tarefa se a primeira tentativa falhar. O valor é 0 para a primeira tentativa e aumenta a cada nova tentativa. Use task.execution_count em vez disso.

{{parent_run_id}}

O identificador exclusivo atribuído à execução de um Job com múltiplas tarefas. Use job.run_id em vez disso.

{{task_key}}

O nome exclusivo atribuído a uma tarefa que faz parte de um Job com diversas tarefas. Use task.name em vez disso.