Partilhar via


API de empregos 2.0

Importante

Este artigo documenta a versão 2.0 da API de trabalhos. No entanto, o Databricks recomenda que você use Jobs API 2.2 para clientes e scripts novos e existentes. Para obter detalhes sobre as alterações na versão 2.2 da API de Trabalhos, consulte Atualização da API de Trabalhos 2.1 para 2.2.

A API de trabalhos permite criar, editar e excluir trabalhos. O tamanho máximo permitido de uma solicitação para a API de trabalhos é de 10 MB.

Para saber mais sobre a funcionalidade atualizada em versões mais recentes da API de Trabalhos, consulte Atualização da API de Trabalhos 2.0 para 2.1 e Atualização da API de Trabalhos 2.1 para 2.2.

Aviso

Você nunca deve codificar segredos ou armazená-los em texto simples. Utilize a API Secrets para gerir segredos na CLI do Databricks. Use o utilitário Secrets (dbutils.secrets) para fazer referência a segredos em blocos de anotações e trabalhos.

Nota

Se você receber um erro de nível 500 ao fazer solicitações de API de trabalhos, o Databricks recomenda repetir as solicitações por até 10 minutos (com um intervalo mínimo de 30 segundos entre as tentativas).

Importante

Para aceder às APIs REST do Databricks, tem de se autenticar.

Criar

Ponto final Método HTTP
2.0/jobs/create POST

Crie um novo trabalho.

Exemplo

Este exemplo cria um trabalho que executa uma tarefa JAR às 22h15 todas as noites.

Solicitação

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Substituir:

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "job_id": 1
}

Estrutura do pedido

Importante

  • Quando se executa um trabalho num novo cluster de tarefas, o trabalho é tratado como uma tarefa Jobs Compute (automatizada) sujeita à faturação de Jobs Compute.
  • Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo Tipo Descrição
existing_cluster_id OU new_cluster STRING OU NewCluster Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade.
Se new_cluster, uma descrição de um cluster que será criado para cada execução.
Se especificar um PipelineTask, este campo pode estar vazio.
notebook_task OU spark_jar_task OU
spark_python_task OU spark_submit_task OU
pipeline_task OU run_job_task
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task.
Se spark_jar_task, indica que este trabalho deve executar um ficheiro JAR.
Se spark_python_task, indica que esse trabalho deve executar um arquivo Python.
Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.
Se for pipeline_task, indica que este trabalho deve executar um pipeline de DLT.
Se run_job_task, indica que esta tarefa deve executar outra tarefa.
name STRING Um nome opcional para o trabalho. O valor predefinido é Untitled.
libraries Um conjunto de Bibliotecas Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia.
email_notifications NotificaçõesDeEmailDeTrabalho Um conjunto opcional de endereços de e-mail que recebem notificações quando as execuções desta tarefa são iniciadas e concluídas e quando esta tarefa é excluída. O comportamento padrão é não enviar e-mails.
webhook_notifications WebhookNotificações Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham.
notification_settings ConfiguraçõesDeNotificaçãoDeEmprego Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para este trabalho.
timeout_seconds INT32 Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite.
max_retries INT32 Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o FAILED result_state ou
INTERNAL_ERROR
life_cycle_state. O valor -1 significa repetir indefinidamente e o valor 0 significa nunca mais tentar. O comportamento padrão é nunca mais tentar.
min_retry_interval_millis INT32 Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a execução de repetição subsequente. O comportamento padrão é que as tentativas malsucedidas são imediatamente repetidas.
retry_on_timeout BOOL Uma política opcional para especificar se um trabalho deve ser repetido quando expirar o tempo limite. O padrão é não repetir no caso de tempo esgotado.
schedule CronSchedule Um cronograma periódico opcional para este trabalho. O comportamento padrão é que o trabalho é executado quando acionado clicando em Executar agora na interface do usuário Trabalhos ou enviando uma solicitação de API para runNow.
max_concurrent_runs INT32 Um número máximo opcional permitido de execuções simultâneas do trabalho.
Defina esse valor se quiser ser capaz de executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você acionar seu trabalho em um cronograma frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem por seus parâmetros de entrada.
Essa configuração afeta apenas novas execuções. Por exemplo, suponha que a simultaneidade do trabalho é 4 e há 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não interromperá nenhuma das execuções ativas. No entanto, daí em diante, novas corridas são ignoradas, a menos que haja menos de 3 corridas ativas.
Este valor não pode exceder 1000. Definir este valor como 0 faz com que as próximas execuções sejam ignoradas. O comportamento padrão é permitir apenas 1 execução simultânea.

Estrutura de resposta

Nome do Campo Tipo Descrição
job_id INT64 O identificador canônico para o trabalho recém-criado.

Lista

Ponto final Método HTTP
2.0/jobs/list GET

Liste todos os trabalhos.

Exemplo

Pedido

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Substitua <databricks-instance> pelo nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Estrutura de resposta

Nome do Campo Tipo Descrição
jobs Uma matriz de Job A lista de empregos.

Suprimir

Ponto final Método HTTP
2.0/jobs/delete POST

Exclua um trabalho e envie um e-mail para os endereços especificados em JobSettings.email_notifications. Nenhuma ação ocorrerá se o trabalho já tiver sido removido. Depois que o trabalho é removido, nem seus detalhes nem seu histórico de execução são visíveis na interface do usuário ou na API de Trabalhos. A remoção do trabalho é garantida após a conclusão deste pedido. No entanto, os processos que estavam em execução antes de recebermos esta solicitação podem ainda estar ativos. Eles serão encerrados de forma assíncrona.

Exemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Substituir:

  • com o nome da instância de espaço de trabalho do Azure Databricks, por exemplo .
  • <job-id> com o ID do trabalho, por exemplo 123.

Este exemplo usa um arquivo .netrc .

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64 O identificador canónico do trabalho a eliminar. Este campo é obrigatório.

Obter

Ponto final Método HTTP
2.0/jobs/get GET

Obtenha informações sobre uma única vaga.

Exemplo

Pedido

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Ou:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Substituir:

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64 O identificador canônico do trabalho sobre o qual recuperar informações. Este campo é obrigatório.

Estrutura de resposta

Nome do Campo Tipo Descrição
job_id INT64 O identificador padronizado para esta tarefa.
creator_user_name STRING O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador tiver sido eliminado.
settings JobSettings Configurações para este trabalho e todas as suas execuções. Essas configurações podem ser atualizadas usando os endereços Redefinir ou Atualizar.
created_time INT64 A hora em que este trabalho foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC).

Redefinir

Ponto final Método HTTP
2.0/jobs/reset POST

Sobrescreva todas as definições de uma tarefa específica. Use o endpoint Update para atualizar parcialmente as configurações do trabalho.

Exemplo

Esta solicitação de exemplo torna o trabalho 2 idêntico ao trabalho 1 no exemplo create .

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

Substituir:

Este exemplo usa um arquivo .netrc e jq.

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64 O identificador único do trabalho a ser redefinido. Este campo é obrigatório.
new_settings JobSettings As novas definições da tarefa. Essas configurações substituem completamente as configurações antigas.
As alterações no campo JobSettings.timeout_seconds são aplicadas a processos ativos. As alterações em outros campos são aplicadas apenas a execuções futuras.

Atualização

Ponto final Método HTTP
2.0/jobs/update POST

Adicione, altere ou remova configurações específicas de um trabalho existente. Utilize o endpoint Redefinir para substituir todas as configurações da tarefa.

Exemplo

Esta solicitação de exemplo remove bibliotecas e adiciona configurações de notificação por email ao trabalho 1 definido no exemplo create .

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": ["someone@example.com"],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

Substituir:

  • com o nome da instância do espaço de trabalho do Azure Databricks, por exemplo.
  • O conteúdo de update-job.json com campos que são apropriados para a sua solução.

Este exemplo usa um arquivo .netrc e jq.

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64 O identificador canônico do trabalho a ser atualizado. Este campo é obrigatório.
new_settings JobSettings As novas configurações para a tarefa.
Os campos de nível superior especificados em new_settings, exceto matrizes, são completamente substituídos. As matrizes são mescladas com base nos respetivos campos-chave, como task_key ou
job_cluster_key, e as entradas de matriz com a mesma chave são completamente substituídas. Com exceção da mesclagem de matrizes, não há suporte para a atualização parcial de campos aninhados.
As alterações no campo JobSettings.timeout_seconds são aplicadas a processos ativos. As alterações em outros campos são aplicadas apenas a execuções futuras.
fields_to_remove Uma matriz de STRING Remova os campos de nível superior nas configurações do trabalho. Não há suporte para a remoção de campos aninhados, exceto para as entradas das matrizes tasks e job_clusters. Por exemplo, o seguinte é um argumento válido para este campo:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]
Este campo é opcional.

Executar agora

Importante

  • Um espaço de trabalho é limitado a 1000 execuções de tarefas simultâneas. É devolvida uma resposta 429 Too Many Requests quando pede uma execução que não pode ser iniciada imediatamente.
  • O número de trabalhos que um espaço de trabalho pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Este limite também afeta as tarefas criadas pela API REST e os fluxos de trabalho do bloco de notas.
  • Um espaço de trabalho pode conter até 12000 empregos salvos.
  • Um trabalho pode conter até 100 tarefas.
Ponto final Método HTTP
2.0/jobs/run-now POST

Execute um trabalho agora e devolva o run_id da execução iniciada.

Gorjeta

Se invocar Criar junto com Executar agora, pode usar o endpoint Runs submit, o que lhe permite enviar diretamente a sua carga de trabalho sem precisar criar uma tarefa.

Exemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Um exemplo de solicitação para um trabalho de caderno de notas.

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Um exemplo de solicitação para um trabalho JAR:

{
  "job_id": 2,
  "jar_params": ["john doe", "35"]
}

Substituir:

  • com o nome da instância de espaço de trabalho do Azure Databricks , por exemplo .
  • O conteúdo de run-job.json com campos adequados à sua solução.

Este exemplo usa um arquivo .netrc e jq.

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64
jar_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefas JAR, por exemplo, "jar_params": ["john doe", "35"]. Os parâmetros serão usados para invocar a função principal da classe principal especificada na tarefa JAR do Spark. Se não for especificado no run-now, ele será definido como uma lista vazia por padrão. jar_params não pode ser especificado em conjunto com notebook_params. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"jar_params":["john doe","35"]}
notebook_params Um mapa de ParamPair Um mapa de chave-valor para trabalhos com tarefas de notebook, por exemplo,
"notebook_params": {"name": "john doe", "age": "35"}. O mapa é passado para o bloco de notas e é acessível através da função dbutils.widgets.get .
Se não for especificado no run-now, a execução acionada usa os parâmetros base do trabalho.
Não é possível especificar notebook_params em conjunto com jar_params.
A representação JSON deste campo (ou seja,
{"notebook_params":{"name":"john doe","age":"35"}}) não pode exceder 10.000 bytes.
python_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefas Python, por exemplo. "python_params": ["john doe", "35"] Os parâmetros serão passados para o arquivo Python como parâmetros de linha de comando. Caso seja especificado no run-now, isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]}
spark_submit_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefa de envio em Spark, por exemplo:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Os parâmetros serão passados para o script spark-submit como parâmetros de linha de comando. Caso seja especificado no run-now, isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo não pode exceder 10.000 bytes.
idempotency_token STRING Um token opcional para garantir a idempotência das solicitações de execução. Se já existir uma execução com o token fornecido, a solicitação não criará uma nova execução, mas retornará a ID da execução existente. Se uma execução com o token fornecido for excluída, um erro será retornado.
Se especificares o token de idempotência, no caso de falha, podes repetir até que o pedido seja bem-sucedido. O Azure Databricks garante que exatamente uma execução seja iniciada com esse token de idempotência.
Este token deve ter no máximo 64 caracteres.
Para obter mais informações, consulte Como garantir idempotência para trabalhos.

Estrutura de resposta

Nome do Campo Tipo Descrição
run_id INT64 O identificador único global da execução recém-acionada.
number_in_job INT64 O número sequencial desta execução entre todas as execuções do trabalho.

Execução enviar

Importante

  • Um espaço de trabalho é limitado a 1000 execuções de tarefas simultâneas. É devolvida uma resposta 429 Too Many Requests quando pede uma execução que não pode ser iniciada imediatamente.
  • O número de trabalhos que um espaço de trabalho pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Este limite também afeta as tarefas criadas pela API REST e os fluxos de trabalho do bloco de notas.
  • Um espaço de trabalho pode conter até 12000 empregos salvos.
  • Um trabalho pode conter até 100 tarefas.
Ponto final Método HTTP
2.0/jobs/runs/submit POST

Envie uma execução única. Este endpoint permite-lhe submeter uma carga de trabalho diretamente sem criar uma tarefa. Use a jobs/runs/get API para verificar o estado de execução após o envio do trabalho.

Exemplo

Pedir

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Substituir:

  • <databricks-instance>com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net.
  • O conteúdo de submit-job.json com campos que são apropriados para a sua solução.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "run_id": 123
}

Estrutura do pedido

Importante

  • Quando se executa um trabalho em um novo cluster de trabalhos, o trabalho é tratado como carga de trabalho de Jobs Compute (automatizada) sujeita aos preços de Jobs Compute.
  • Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo Tipo Descrição
existing_cluster_id OU new_cluster STRING OU NewCluster Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade.
Se new_cluster, uma descrição de um cluster que será criado para cada execução.
Se especificar um PipelineTask, esse campo pode estar vazio.
notebook_task OU spark_jar_task OU
spark_python_task OU spark_submit_task OU
pipeline_task OU run_job_task
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task.
Se spark_jar_task, indica que esta tarefa deve executar um JAR.
Se spark_python_task, indica que esse trabalho deve executar um arquivo Python.
Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.
Se for pipeline_task, isso indica que este trabalho deve executar um pipeline DLT.
Se run_job_task, indica que esta tarefa deve executar outra tarefa.
run_name STRING Um nome opcional para a execução. O valor predefinido é Untitled.
webhook_notifications WebhookNotificações Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham.
notification_settings ConfiguraçõesDeNotificaçãoDeEmprego Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos webhook_notifications desta execução.
libraries Um conjunto de Bibliotecas Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia.
timeout_seconds INT32 Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite.
idempotency_token STRING Um token opcional para garantir a idempotência das solicitações de execuções de tarefas. Se já existir uma execução com o token fornecido, a solicitação não criará uma nova execução, mas retornará a ID da execução existente. Se uma execução com o token fornecido for excluída, um erro será retornado.
Se especificar o token de idempotência, em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. O Azure Databricks garante que exatamente uma execução seja iniciada com esse token de idempotência.
Este token deve ter no máximo 64 caracteres.
Para obter mais informações, consulte Como garantir idempotência para trabalhos.

Estrutura de resposta

Nome do Campo Tipo Descrição
run_id INT64 O identificador padrão para a tarefa recentemente enviada.

Lista de corridas

Ponto final Método HTTP
2.0/jobs/runs/list GET

A lista é organizada em ordem decrescente pela hora de início.

Nota

As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.

Exemplo

Pedir

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Ou:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Substituir:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Azure Databricks, por exemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> com o ID do trabalho, por exemplo 123.
  • "<true-false> com true ou false".
  • <offset> com o valor offset.
  • <limit> com o valor limit.
  • <run-type> com o valor run_type.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Estrutura do pedido

Nome do Campo Tipo Descrição
active_only OU completed_only BOOL OU BOOL Se active_only for true verdadeiro, apenas as execuções ativas serão incluídas nos resultados; caso contrário, são listadas tanto as execuções ativas quanto as concluídas. Uma execução ativa é uma execução no PENDING, no RUNNING ou no TERMINATINGRunLifecycleState. Este campo não pode ser true quando completed_only é true.
Se completed_only estiver em true, apenas as execuções concluídas serão incluídas nos resultados; caso contrário, ambas as execuções ativas e concluídas serão listadas. Este campo não pode ser true quando ative_only é true.
job_id INT64 O trabalho para o qual a lista de execução é feita. Se for omitido, o serviço de Tarefas irá listar as execuções de todas as tarefas.
offset INT32 O desfasamento da primeira execução a retornar, em relação à execução mais recente.
limit INT32 O número de corridas a serem retornadas. Este valor deve ser superior a 0 e inferior a 1000. O valor padrão é 20. Se uma solicitação especificar um limite de 0, o serviço usará o limite máximo.
run_type STRING O tipo de corridas a retornar. Para obter uma descrição dos tipos de execução, consulte Executar.

Estrutura de resposta

Nome do Campo Tipo Descrição
runs Uma matriz de Run Uma lista de corridas, da mais recentemente iniciada para a menos recente.
has_more BOOL Se for verdade, corridas adicionais que correspondem ao filtro fornecido estão disponíveis para listagem.

Corridas obtidas

Ponto final Método HTTP
2.0/jobs/runs/get GET

Recupere os metadados de uma execução.

Nota

As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.

Exemplo

Pedido

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Ou:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Substituir:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Azure Databricks, por exemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> com o ID da execução, por exemplo 123.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

Estrutura do pedido

Nome do Campo Tipo Descrição
run_id INT64 O identificador canônico da execução para a qual recuperar os metadados. Este campo é obrigatório.

Estrutura de resposta

Nome do Campo Tipo Descrição
job_id INT64 O identificador único da tarefa que contém esta execução.
run_id INT64 O identificador canônico da execução. Este ID é único em todas as execuções de todos os trabalhos.
number_in_job INT64 O número sequencial desta execução entre todas as execuções da tarefa. Este valor começa em 1.
original_attempt_run_id INT64 Se esta execução for uma repetição de uma tentativa de execução anterior, este campo contém o run_id da tentativa original; caso contrário, é o mesmo que o run_id.
state RunState O resultado e os estados de ciclo de vida da execução.
schedule CronSchedule A programação cron que desencadeou esta execução, caso tenha sido acionada pelo agendador periódico.
task JobTask A tarefa executada pela execução, se houver.
cluster_spec ClusterSpec Um instantâneo da configuração do cluster do trabalho no momento em que esta execução foi criada.
cluster_instance ClusterInstance O cluster usado para essa execução. Se a execução for especificada para utilizar um novo cluster, este campo será definido assim que o serviço de Jobs solicitar um cluster para a execução.
overriding_parameters RunParameters Os parâmetros usados para esta execução.
start_time INT64 A hora em que esta corrida foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para ser executado em um novo cluster, esse é o momento em que a chamada de criação de cluster é emitida.
end_time INT64 A hora em que esta corrida terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este campo será definido como 0 se o trabalho ainda estiver em execução.
setup_duration INT64 O tempo, em milissegundos, necessário para configurar o cluster. Para execuções executadas em novos clusters, este é o tempo de criação do cluster, para execuções executadas em clusters existentes, esse tempo deve ser muito curto. A duração total da corrida é a soma do setup_duration,
execution_duration e o cleanup_duration. O setup_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de uma tarefa múltipla é o valor do
run_duration campo.
execution_duration INT64 O tempo em milissegundos que levou para executar os comandos no JAR ou no bloco de anotações até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. A duração total da corrida é a soma do setup_duration, do execution_duration e do
cleanup_duration. O execution_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de trabalho multitarefa é o valor do run_duration campo.
cleanup_duration INT64 O tempo, em milissegundos, necessário para encerrar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma do setup_duration, execution_duratione do cleanup_duration. O cleanup_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de trabalho multitarefa é o valor do run_duration campo.
run_duration INT64 O tempo em milissegundos que a execução do trabalho e todos os seus reparos levaram para terminar. Este campo é definido apenas para execuções de trabalhos multitarefa e não para execução de tarefas. A duração de uma execução de tarefa é a soma da
setup_duration, execution_duration, e o cleanup_duration.
trigger Tipo de Disparo O tipo de disparador que ativou esta execução.
creator_user_name STRING O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador tiver sido eliminado
run_page_url STRING O URL para a página de detalhes da execução.

Executa a exportação

Ponto final Método HTTP
2.0/jobs/runs/export GET

Exporte e recupere a tarefa de execução do trabalho.

Nota

Apenas as execuções do bloco de notas podem ser exportadas em formato HTML. Exportar execuções de outros tipos falhará.

Exemplo

Solicitação

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Ou:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Substituir:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Azure Databricks, por exemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> com o ID da execução, por exemplo 123.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "views": [
    {
      "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
      "name": "my-notebook",
      "type": "NOTEBOOK"
    }
  ]
}

Para extrair o notebook HTML da resposta JSON, baixe e execute este script Python.

Nota

A estrutura do caderno no objeto __DATABRICKS_NOTEBOOK_MODEL é codificada.

Estrutura do pedido

Nome do Campo Tipo Descrição
run_id INT64 O identificador canônico para o processo. Este campo é obrigatório.
views_to_export VistasParaExportar Quais visualizações deseja exportar (CÓDIGO, PAINÉIS ou TODOS). O padrão é CODE.

Estrutura de resposta

Nome do Campo Tipo Descrição
views Uma matriz de ViewItem O conteúdo exportado em formato HTML (um para cada item de exibição).

Execuções canceladas

Ponto final Método HTTP
2.0/jobs/runs/cancel POST

Cancelar uma execução de tarefa. Como a execução é cancelada de forma assíncrona, a execução ainda pode estar em execução quando essa solicitação for concluída. A corrida será encerrada em breve. Se a execução já estiver em um terminal life_cycle_state, esse método é um no-op.

Este ponto de extremidade valida que o run_id parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.

Exemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Substituir:

  • com o nome da instância de área de trabalho do Azure Databricks , por exemplo, .
  • <run-id> com o ID da execução, por exemplo 123.

Este exemplo usa um arquivo .netrc .

Estrutura do pedido

Nome do Campo Tipo Descrição
run_id INT64 O identificador canônico da execução a ser cancelada. Este campo é obrigatório.

Execuções cancelam tudo

Ponto final Método HTTP
2.0/jobs/runs/cancel-all POST

Cancele todas as execuções ativas de uma tarefa. Como a execução é cancelada de forma assíncrona, isso não impede que novas execuções sejam iniciadas.

Este ponto de extremidade valida que o job_id parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.

Exemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Substituir:

  • <databricks-instance> com o nome da instância de espaço de trabalho do Azure Databricks , por exemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> com o ID do trabalho, por exemplo 123.

Este exemplo usa um arquivo .netrc .

Estrutura do pedido

Nome do Campo Tipo Descrição
job_id INT64 O identificador canónico da tarefa para cancelar todas as execuções relacionadas. Este campo é obrigatório.

As execuções produzem saída

Ponto final Método HTTP
2.0/jobs/runs/get-output GET

Recupere a saída e os metadados de uma única tarefa executada. Quando uma tarefa de notebook retorna um valor por meio da chamada dbutils.notebook.exit(), pode-se usar o endpoint para recuperar esse valor. O Azure Databricks restringe essa API para retornar os primeiros 5 MB da saída. Para retornar um resultado maior, você pode armazenar os resultados do trabalho em um serviço de armazenamento em nuvem.

Este ponto de extremidade valida que o run_id parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.

As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.

Exemplo

Pedido

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Ou:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Substituir:

  • com o nome da instância de espaço de trabalho do Azure Databricks, por exemplo.
  • <run-id> com o ID da execução, por exemplo 123.

Este exemplo usa um arquivo .netrc e jq.

Resposta

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Estrutura do pedido

Nome do Campo Tipo Descrição
run_id INT64 O identificador canônico para a execução. Para um trabalho com várias tarefas, este é o run_id de uma execução de tarefa. Consulte A execução obtém saída. Este campo é obrigatório.

Estrutura de resposta

Nome do Campo Tipo Descrição
notebook_output OU error NotebookOutput OU STRING Se notebook_output, a saída de uma tarefa do caderno, se disponível. Uma tarefa do bloco de notas que termina (com êxito ou com uma falha) sem chamar
dbutils.notebook.exit() é considerado como tendo uma saída vazia. Este campo será definido, mas seu valor de resultado estará vazio.
Se houver erro, uma mensagem de erro indicando por que a saída não está disponível. A mensagem não está estruturada e o seu formato exato está sujeito a alterações.
metadata Executar Todos os detalhes da execução, exceto a sua saída.

Executa eliminação

Ponto final Método HTTP
2.0/jobs/runs/delete POST

Exclua uma execução não ativa. Retorna um erro se a execução estiver ativa.

Exemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Substituir:

Este exemplo usa um arquivo .netrc .

Estrutura do pedido

Nome do Campo Tipo Descrição
run_id INT64 O identificador canônico da execução para a qual recuperar os metadados.

Estruturas de dados

Nesta secção:

ABFSSStorageInfo

Informações de armazenamento do Azure Data Lake Storage (ADLS).

Nome do Campo Tipo Descrição
destination STRING Destino do ficheiro. Exemplo: abfss://...

AutoScale

Intervalo que define o número mínimo e máximo de trabalhadores de cluster.

Nome do Campo Tipo Descrição
min_workers INT32 O número mínimo de trabalhadores para o qual o cluster pode ser reduzido quando subutilizado. É também o número inicial de trabalhadores que o cluster terá após a criação.
max_workers INT32 O número máximo de trabalhadores para o qual o cluster pode ser dimensionado quando sobrecarregado. max_workers deve ser rigorosamente superior a min_workers.

AzureAttributes

Atributos definidos durante a criação do cluster relacionados ao Azure.

Nome do Campo Tipo Descrição
first_on_demand INT32 Os primeiros first_on_demand nós do cluster serão colocados em instâncias sob demanda. Esse valor deve ser maior que 0, caso contrário, a validação da criação do cluster falhará. Se esse valor for maior ou igual ao tamanho atual do cluster, todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho atual do cluster, first_on_demand os nós serão colocados em instâncias sob demanda e o restante será colocado em instâncias de disponibilidade. Esse valor não afeta o tamanho do cluster e não pode ser mutado durante o tempo de vida de um cluster.
availability AzureAvailability Tipo de disponibilidade usado para todos os nós subsequentes após os first_on_demand anteriores.
spot_bid_max_price DOUBLE O preço máximo de lance usado para instâncias spot do Azure. Você pode definir isso como maior ou igual ao preço à vista atual. Você também pode definir isso como -1 (o padrão), que especifica que a instância não pode ser removida com base no preço. O preço da instância será o preço atual das instâncias spot ou o preço de uma instância padrão. Você pode exibir preços históricos e taxas de remoção no portal do Azure.

AzureAvailability

O comportamento do tipo de disponibilidade de instâncias no Azure.

Tipo Descrição
SPOT_AZURE Utilize instâncias spot!
ON_DEMAND_AZURE Utilize instâncias sob demanda.
SPOT_WITH_FALLBACK_AZURE De preferência, use instâncias spot, mas recorra a instâncias sob demanda se não for possível adquirir instâncias spot (por exemplo, se os preços spot do Azure estiverem muito altos ou fora da cota). Não se aplica à disponibilidade da piscina.

ClusterInstance

Identificadores para o cluster e o contexto do Spark usados por uma execução. Esses dois valores juntos identificam um contexto de execução em todos os tempos.

Nome do Campo Tipo Descrição
cluster_id STRING O identificador canônico para o cluster usado por uma execução. Este campo está sempre disponível para execuções em clusters existentes. Para execuções em novos clusters, ele fica disponível assim que o cluster é criado. Esse valor pode ser usado para exibir logs navegando até /#setting/sparkui/$cluster_id/driver-logs. Os logs continuarão disponíveis após a conclusão da execução.
A resposta não incluirá este campo se o identificador ainda não estiver disponível.
spark_context_id STRING Um identificador canónico para o contexto do Spark utilizado numa execução. Este campo será preenchido assim que a execução começar a ser executada. Esse valor pode ser usado para exibir a interface do usuário do Spark navegando até /#setting/sparkui/$cluster_id/$spark_context_id. A interface do usuário do Spark continuará disponível após a conclusão da execução.
A resposta não incluirá este campo se o identificador ainda não estiver disponível.

ClusterLogConf

Caminho para o log de cluster.

Nome do Campo Tipo Descrição
dbfs Localização do log do cluster no DBFS. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Importante

  • Quando se executa um trabalho num novo cluster de trabalhos, o trabalho é tratado como uma carga de trabalho Jobs Compute (automatizada) sujeita aos preços de Jobs Compute.
  • Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo Tipo Descrição
existing_cluster_id OU new_cluster STRING OU NewCluster Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade.
Se new_cluster, uma descrição de um cluster que será criado para cada execução.
Se especificar um PipelineTask, esse campo pode estar vazio.
libraries Um conjunto de Bibliotecas Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia.

ClusterTag

Definição de etiqueta de cluster.

Tipo Descrição
STRING A chave da tag. A chave deve:
  • Ter entre 1 e 512 caracteres
  • Não contém nenhum dos caracteres <>%*&+?\\/
  • Não comece com azure, microsoftou windows
STRING O valor da etiqueta. O comprimento do valor deve ser menor ou igual a 256 caracteres UTF-8.

CronSchedule

Nome do Campo Tipo Descrição
quartz_cron_expression STRING Uma expressão Cron usando sintaxe Quartz que descreve o cronograma para um trabalho. Consulte Cron Trigger para obter detalhes. Este campo é obrigatório.
timezone_id STRING Um ID de fuso horário Java. O horário de uma tarefa será ajustado de acordo com este fuso horário. Consulte Java TimeZone para obter detalhes. Este campo é obrigatório.
pause_status STRING Indique se este cronograma está pausado ou não. "PAUSADO" ou "RETOMADO".

DbfsStorageInfo

Informações de armazenamento DBFS.

Nome do Campo Tipo Descrição
destination STRING Destino DBFS. Exemplo: dbfs:/my/path

Informação de Armazenamento de Ficheiros

Informações de armazenamento de arquivos.

Nota

Esse tipo de local só está disponível para clusters configurados usando o Databricks Container Services.

Nome do Campo Tipo Descrição
destination STRING Destino do ficheiro. Exemplo: file:/my/file.sh

InitScriptInfo

Caminho para um script de inicialização.

Para obter instruções sobre como utilizar scripts de inicialização com os Databricks Container Services, consulte Utilizar um script de inicialização.

Nota

O tipo de armazenamento de arquivos (nome do campo: file) só está disponível para clusters configurados usando os Serviços de Contêiner do Databricks. Consulte FileStorageInfo.

Nome do Campo Tipo Descrição
workspace OU dbfs (obsoleto)
OU abfss
WorkspaceStorageInfo
DbfsStorageInfo (preterido)
ABFSSStorageInfo
Localização do espaço de trabalho do script de inicialização. O destino deve ser fornecido. Por exemplo,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }
(Preterido) Localização DBFS do script de inicialização. O destino deve ser fornecido. Por exemplo,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }
Local do script de inicialização do Azure Data Lake Storage (ADLS). O destino deve ser fornecido. Por exemplo, { "abfss": { "destination" : "abfss://..." } }

Emprego

Nome do Campo Tipo Descrição
job_id INT64 O identificador canônico para esta tarefa.
creator_user_name STRING O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador já tiver sido eliminado.
run_as STRING O nome de utilizador sob o qual o trabalho será executado. run_as baseia-se nas configurações atuais do trabalho e é atribuído ao criador do trabalho se o controlo de acesso ao trabalho estiver desativado, ou à permissão is_owner se o controlo de acesso ao trabalho estiver ativado.
settings JobSettings Configurações para este trabalho e todos os seus processamentos. Essas configurações podem ser atualizadas usando o resetJob método.
created_time INT64 A hora em que este trabalho foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC).

NotificaçõesDeEmailDeEmprego

Importante

Os campos on_start, on_success e on_failure aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.

Nome do Campo Tipo Descrição
on_start Uma matriz de STRING Uma lista de endereços de e-mail a serem notificados quando uma execução começar. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas.
on_success Uma matriz de STRING Uma lista de endereços de e-mail a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um TERMINATEDlife_cycle_state e um SUCCESSFULresult_state. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas.
on_failure Uma matriz de STRING Uma lista de endereços de e-mail a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR
life_cycle_state ou um SKIPPED, FAILED, ou TIMED_OUT estado_resultado. Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas.
on_duration_warning_threshold_exceeded Uma matriz de STRING Uma lista de endereços de e-mail a serem notificados quando a duração de uma execução exceder o limite especificado para a RUN_DURATION_SECONDS métrica no health campo. Se nenhuma regra para a RUN_DURATION_SECONDS métrica for especificada no health campo para o trabalho, as notificações não serão enviadas.
no_alert_for_skipped_runs BOOL Caso seja verdade, não envie e-mails para os destinatários especificados em on_failure se a execução for ignorada.
Nome do Campo Tipo Descrição
on_start Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução começa. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_start propriedade.
on_success Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um TERMINATEDlife_cycle_state e um SUCCESSFULresult_state. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_success propriedade.
on_failure Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR
life_cycle_state ou um SKIPPED, FAILED, ou TIMED_OUT estado_resultado. Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_failure propriedade.
on_duration_warning_threshold_exceeded Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para a métrica RUN_DURATION_SECONDS no campo health. Um máximo de 3 destinos podem ser especificados para a on_duration_warning_threshold_exceeded propriedade.

Configurações de Notificação de Trabalho

Nome do Campo Tipo Descrição
no_alert_for_skipped_runs BOOL Se verdadeiro, não envie notificações para destinatários especificados em on_failure se a execução for ignorada.
no_alert_for_canceled_runs BOOL Se verdadeiro, não envie notificações para os destinatários especificados em on_failure se a execução for cancelada.
alert_on_last_attempt BOOL Se verdadeiro, não envie notificações para os destinatários especificados em on_start para as execuções repetidas e não envie notificações para os destinatários especificados em on_failure até a última repetição da execução.

Configurações de Trabalho

Importante

  • Quando se executa um trabalho num novo cluster de tarefas, o trabalho é tratado como uma carga de trabalho Jobs Compute (automatizado) sujeito à tabela de preços de Jobs Compute.
  • Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.

Configurações para uma tarefa. Essas configurações podem ser atualizadas usando o resetJob método.

Nome do Campo Tipo Descrição
existing_cluster_id OU new_cluster STRING OU NewCluster Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade.
Se new_cluster, uma descrição de um cluster que será criado para cada execução.
Se especificar um PipelineTask, esse campo pode estar vazio.
notebook_task OU spark_jar_task OU
spark_python_task OU spark_submit_task OU
pipeline_task OU run_job_task
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task.
Se spark_jar_task, indica que esse trabalho deve executar um JAR.
Se spark_python_task, indica que esse trabalho deve executar um arquivo Python.
Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.
Se for pipeline_task, indica que este trabalho deverá executar um pipeline de DLT.
Se run_job_task, indica que esta tarefa deve executar outra tarefa.
name STRING Um nome opcional para o trabalho. O valor predefinido é Untitled.
libraries Um conjunto de Bibliotecas Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia.
email_notifications NotificaçõesDeEmailDeTrabalho Um conjunto opcional de endereços de e-mail que serão notificados quando as execuções deste trabalho começarem ou forem concluídas, bem como quando este trabalho for excluído. O comportamento padrão é não enviar e-mails.
webhook_notifications WebhookNotificações Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham.
notification_settings ConfiguraçõesDeNotificaçãoDeEmprego Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para este trabalho.
timeout_seconds INT32 Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite.
max_retries INT32 Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o FAILED result_state ou
INTERNAL_ERROR
life_cycle_state. O valor -1 significa repetir indefinidamente e o valor 0 significa nunca mais tentar. O comportamento padrão é nunca mais tentar.
min_retry_interval_millis INT32 Um intervalo mínimo opcional em milissegundos entre as tentativas. O comportamento padrão é que as tentativas malsucedidas sejam imediatamente repetidas.
retry_on_timeout BOOL Uma política opcional para especificar se uma tarefa deve ser repetida quando ocorrer um tempo limite. O comportamento padrão é não repetir quando ocorrer um tempo limite.
schedule CronSchedule Um cronograma periódico opcional para este trabalho. O comportamento padrão é que o trabalho só será executado quando acionado clicando em "Executar agora" na interface do usuário de trabalhos ou enviando uma solicitação de API para
runNow.
max_concurrent_runs INT32 Um número máximo opcional permitido de execuções simultâneas do trabalho.
Defina esse valor se quiser ser capaz de executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você acionar seu trabalho em um cronograma frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem por seus parâmetros de entrada.
Essa configuração afeta apenas novas execuções. Por exemplo, suponha que a simultaneidade do trabalho é 4 e há 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não interromperá nenhuma das execuções ativas. No entanto, a partir de então, novas corridas serão ignoradas, a menos que haja menos de 3 corridas ativas.
Este valor não pode exceder 1000. Definir este valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento padrão é permitir apenas 1 execução simultânea.
health Regras de Saúde no Trabalho Um conjunto opcional de regras de integridade definidas para o trabalho.

Tarefa de Trabalho

Nome do Campo Tipo Descrição
notebook_task OU spark_jar_task OU
spark_python_task OU spark_submit_task OU
pipeline_task OU run_job_task
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task.
Caso spark_jar_task, indica que este trabalho deve executar um JAR.
Se spark_python_task, indica que esse trabalho deve executar um arquivo Python.
Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.
Se for pipeline_task, indica que este trabalho deve executar um pipeline de DLT.
Se run_job_task, indica que esta tarefa deve executar outra tarefa.

Regra de Saúde no Emprego

Nome do Campo Tipo Descrição
metric STRING Específica a métrica de saúde que está a ser avaliada para uma determinada regra de saúde. Os valores válidos são RUN_DURATION_SECONDS.
operator STRING Especifica o operador usado para comparar o valor da métrica de integridade com o limite especificado. Os valores válidos são GREATER_THAN.
value INT32 Especifica o valor limite que a métrica de integridade deve atender para estar em conformidade com a regra de integridade.

RegrasDeSaúdeNoTrabalho

Nome do Campo Tipo Descrição
rules Uma matriz de JobsHealthRule Um conjunto opcional de regras de integridade que pode ser definido para um trabalho.

Biblioteca

Nome do Campo Tipo Descrição
jar OU egg OU whl OU
pypi OU maven OU cran
STRING OU STRING OU STRING OU PythonPyPiLibrary OU MavenLibrary OU RCranLibrary Se for o caso de um ficheiro JAR, a URI do ficheiro JAR a ser instalada. DBFS e ADLS (abfss) URIs são suportados. Por exemplo: { "jar": "dbfs:/mnt/databricks/library.jar" } ou
{ "jar": "abfss://<container-path>/library.jar" }. Se o ADLS for usado, verifique se o cluster tem acesso de leitura na biblioteca.
Se for um ovo, URI do ovo que será instalado. Há suporte para URIs DBFS e ADLS. Por exemplo: { "egg": "dbfs:/my/egg" } ou
{ "egg": "abfss://<container-path>/egg" }.
Se for um whl, URI do wheel ou do ficheiro zipado wheels a instalar. Há suporte para URIs DBFS e ADLS. Por exemplo: { "whl": "dbfs:/my/whl" } ou
{ "whl": "abfss://<container-path>/whl" }. Se o ADLS for usado, verifique se o cluster tem acesso de leitura na biblioteca. Além disso, o nome do wheel arquivo precisa usar a convenção correta. Se arquivos comprimidos wheels devem ser instalados, o sufixo do nome do ficheiro deverá ser .wheelhouse.zip.
Se pypi, especificação de uma biblioteca PyPI a ser instalada. Especificar o repo campo é opcional e, se não for especificado, o índice pip padrão é usado. Por exemplo:
{ "package": "simplejson", "repo": "https://my-repo.com" }
Se maven, especificação de uma biblioteca Maven a ser instalada. Por exemplo:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }
Se for o CRAN, especificação de uma biblioteca CRAN a ser instalada.

MavenLibrary

Nome do Campo Tipo Descrição
coordinates STRING Coordenadas Maven no estilo Gradle. Por exemplo: org.jsoup:jsoup:1.7.2. Este campo é obrigatório.
repo STRING Repositório Maven para instalar o pacote Maven. Caso seja omitido, serão pesquisados tanto o repositório central do Maven como os pacotes do Spark.
exclusions Uma matriz de STRING Lista de dependências a excluir. Por exemplo: ["slf4j:slf4j", "*:hadoop-client"].
Exclusões de dependência Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NovoCluster

Nome do Campo Tipo Descrição
num_workers OU autoscale INT32 OU AutoScale Se num_workers, número de nós de trabalho que esse cluster deve ter. Um cluster tem um driver Spark e executores num_workers, totalizando num_workers + 1 nós Spark.
Nota: Ao ler as propriedades de um cluster, este campo reflete o número desejado de trabalhadores em vez do número atual real de trabalhadores. Por exemplo, se um cluster for redimensionado de 5 para 10 nodos, este campo será imediatamente atualizado para refletir o tamanho alvo de 10 nodos, enquanto os trabalhadores listados em spark_info aumentam gradualmente de 5 para 10 à medida que os novos nós são provisionados.
Se o dimensionamento automático estiver ativado, são necessários parâmetros para ajustar automaticamente os clusters para cima e para baixo com base na carga.
spark_version STRING A versão Spark do cluster. Uma lista de versões disponíveis do Spark pode ser recuperada usando a chamada GET 2.0/clusters/spark-versions. Este campo é obrigatório.
spark_conf SparkConfPair Um objeto que contém um conjunto de pares opcionais de chave-valor de configuração do Spark especificados pelo usuário. Você também pode passar uma sequência de opções JVM extras para o driver e os executores via
spark.driver.extraJavaOptions e spark.executor.extraJavaOptions respetivamente.
Exemplos de configurações do Spark:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} ou
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, através de um único valor, os recursos disponíveis para cada um dos nós do Spark neste cluster. Por exemplo, os nós do Spark podem ser provisionados e otimizados para cargas de trabalho de memória ou computação intensiva. Uma lista de tipos de nó disponíveis pode ser recuperada usando a chamada GET 2.0/clusters/list-node-types. Um dos seguintes é obrigatório: este campo, o campo instance_pool_id ou uma política de cluster que especifique um ID de tipo de nó ou ID de pool de instâncias.
driver_node_type_id STRING O tipo de nó do driver do Spark. Este campo é opcional; Se não estiver definido, o tipo de nó do driver será definido como o mesmo valor node_type_id definido acima.
custom_tags ClusterTag Um objeto que contém um conjunto de tags para recursos de cluster. Databricks etiqueta todos os recursos de cluster (como VMs) com estas etiquetas, além de default_tags.
Nota:
  • Não há suporte para tags em tipos de nó herdados, como computação otimizada e memória otimizada
  • Databricks permite no máximo 45 tags personalizadas
cluster_log_conf ClusterLogConf A configuração para entregar logs do Spark a um destino de armazenamento de longo prazo. Apenas um destino pode ser especificado para um cluster. Se a configuração for definida, os logs serão entregues ao destino a cada 5 mins. O destino dos logs de driver é <destination>/<cluster-id>/driver, enquanto o destino dos logs do executor é <destination>/<cluster-id>/executor.
init_scripts Uma matriz de InitScriptInfo A configuração para armazenar scripts de inicialização. Qualquer número de scripts pode ser especificado. Os scripts são executados sequencialmente na ordem fornecida. Se cluster_log_conf for especificado, os logs do script de inicialização serão enviados para
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Um objeto que contém um conjunto de pares de chave-valor de variáveis de ambiente opcionais especificadas pelo utilizador. O par chave-valor do formulário (X,Y) é exportado como está (ou seja,
export X='Y') ao lançar o motorista e os trabalhadores.
Para especificar um conjunto adicional de SPARK_DAEMON_JAVA_OPTS, recomendamos anexá-los a $SPARK_DAEMON_JAVA_OPTS como mostrado no exemplo a seguir. Isso garante que todas as variáveis ambientais gerenciadas por databricks padrão também sejam incluídas.
Exemplo de variáveis de ambiente do Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} ou
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Autoscaling Local Storage: quando ativado, esse cluster adquire dinamicamente espaço em disco adicional quando seus trabalhadores do Spark estão com pouco espaço em disco. Consulte Ativar armazenamento local de escalonamento automático para obter detalhes.
driver_instance_pool_id STRING O ID opcional do pool de instâncias a ser usado para o nó condutor. Você também deve especificar instance_pool_id. Consulte a API de Pools de Instâncias para obter detalhes.
instance_pool_id STRING O ID opcional do conjunto de instâncias a ser usado para os nós do cluster. Se driver_instance_pool_id estiver presente,
instance_pool_id é usado apenas para nodos de trabalho. Caso contrário, é utilizado tanto para o nó condutor quanto para os nós de trabalho. Consulte a API de Pools de Instâncias para obter detalhes.

Saída de Notebook

Nome do Campo Tipo Descrição
result STRING O valor passado para dbutils.notebook.exit(). O Azure Databricks restringe essa API para retornar os primeiros 1 MB do valor. Para um resultado maior, seu trabalho pode armazenar os resultados em um serviço de armazenamento em nuvem. Este campo estará ausente se dbutils.notebook.exit() nunca tiver sido chamado.
truncated BOOLEAN Se o resultado foi truncado ou não.

NotebookTask

Todas as células de saída estão sujeitas ao tamanho de 8MB. Se a saída de uma célula tiver um tamanho maior, o resto da execução será cancelada e a execução será marcada como falha. Nesse caso, parte do conteúdo produzido por outras células também pode estar em falta.

Se precisar de ajuda para encontrar a célula que está além do limite, execute o notebook em um cluster de uso geral e use esta técnica de salvamento automático do notebook.

Nome do Campo Tipo Descrição
notebook_path STRING O caminho absoluto do notebook a ser executado no espaço de trabalho do Azure Databricks. Este caminho deve começar com uma barra. Este campo é obrigatório.
revision_timestamp LONG O carimbo de data/hora da revisão do caderno.
base_parameters Um mapa de ParamPair Parâmetros básicos a serem usados para cada execução deste trabalho. Se a execução for iniciada por uma chamada para run-now com parâmetros especificados, os dois mapas de parâmetros serão mesclados. Se a mesma chave for especificada em base_parameters e em run-now, o valor de run-now será usado.
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.
Se o notebook aceitar um parâmetro que não esteja especificado nos parâmetros do base_parameters trabalho ou nos parâmetros de run-now substituição, será usado o valor padrão do notebook.
Recupere esses parâmetros em um bloco de anotações usando dbutils.widgets.get.

ParamPair

Parâmetros baseados em nome para trabalhos que executam tarefas em notebooks.

Importante

Os campos nesta estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.

Tipo Descrição
STRING Nome do parâmetro. Passe para dbutils.widgets.get para recuperar o valor.
STRING Valor do parâmetro.

PipelineTask

Nome do Campo Tipo Descrição
pipeline_id STRING O nome completo da tarefa da pipeline DLT que deve ser executada.

Biblioteca PythonPyPi

Nome do Campo Tipo Descrição
package STRING O nome do pacote PyPI a ser instalado. Uma especificação de versão exata opcional também é suportada. Exemplos: simplejson e simplejson==3.8.0. Este campo é obrigatório.
repo STRING O repositório onde o pacote pode ser encontrado. Se não for especificado, o índice pip padrão será usado.

RCranLibrary

Nome do Campo Tipo Descrição
package STRING O nome do pacote CRAN a ser instalado. Este campo é obrigatório.
repo STRING O repositório onde o pacote pode ser encontrado. Se não for especificado, o repositório CRAN padrão será usado.

Executar

Todas as informações sobre uma execução, exceto sua saída. A saída pode ser recuperada separadamente com o getRunOutput método.

Nome do Campo Tipo Descrição
job_id INT64 O identificador único da tarefa que contém esta execução.
run_id INT64 O identificador canônico da execução. Este identificador é único em todas as execuções de todos os trabalhos.
creator_user_name STRING O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador já tiver sido eliminado.
number_in_job INT64 O número sequencial desta execução entre todas as execuções da tarefa. Este valor começa em 1.
original_attempt_run_id INT64 Se esta execução for uma repetição de uma tentativa de execução anterior, este campo contém o run_id da tentativa original; caso contrário, é o mesmo que o run_id.
state RunState O resultado e os estados de ciclo de vida da execução.
schedule CronSchedule A programação cron que desencadeou esta execução, se tiver sido desencadeada pelo agendador periódico.
task JobTask A tarefa realizada pela corrida, se houver.
cluster_spec ClusterSpec Um instantâneo da configuração do cluster do trabalho no momento em que esta execução foi criada.
cluster_instance ClusterInstance O cluster usado para essa execução. Se a execução for especificada para utilizar um novo cluster, este campo será definido assim que o serviço de Jobs solicitar um cluster para a execução.
overriding_parameters RunParameters Os parâmetros usados para esta execução.
start_time INT64 A hora em que esta corrida foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para ser executado em um novo cluster, esse é o momento em que a chamada de criação de cluster é emitida.
setup_duration INT64 O tempo necessário para configurar o cluster em milissegundos. Para execuções executadas em novos clusters, este é o tempo de criação do cluster, para execuções executadas em clusters existentes, esse tempo deve ser muito curto.
execution_duration INT64 O tempo em milissegundos que levou para executar os comandos no JAR ou no bloco de anotações até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado.
cleanup_duration INT64 O tempo, em milissegundos, necessário para encerrar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma da duração de configuração, duração de execução e duração de limpeza.
end_time INT64 A hora em que esta corrida terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este campo será definido como 0 se o trabalho ainda estiver em execução.
trigger Tipo de Disparo O tipo de gatilho que disparou esta execução.
run_name STRING Um nome opcional para a execução. O valor predefinido é Untitled. O comprimento máximo permitido é de 4096 bytes na codificação UTF-8.
run_page_url STRING O URL para a página de detalhes da execução.
run_type STRING O tipo de corrida.
  • JOB_RUN - Execução normal do trabalho. Uma execução criada com Executar agora.
  • WORKFLOW_RUN - Fluxo de trabalho executado. Uma execução criada com dbutils.notebook.run.
  • SUBMIT_RUN - Enviar execução. Uma execução criada com Executar agora.
attempt_number INT32 O número de sequência dessa tentativa de execução para uma execução de trabalho acionada. A tentativa inicial de uma corrida tem um número de tentativa de 0. Se a tentativa de execução inicial falhar e o trabalho tiver uma política de repetição (max_retries> 0), as execuções subsequentes serão criadas com um original_attempt_run_id ID da tentativa original e um incremento attempt_number. As execuções são repetidas apenas até serem bem-sucedidas, e o valor máximo de attempt_number é o mesmo que o valor de max_retries para o trabalho.

RunJobTask

Nome do Campo Tipo Descrição
job_id INT32 Identificador exclusivo do trabalho a ser executado. Este campo é obrigatório.

RunLifeCycleState

O estado do ciclo de vida de uma corrida. As transições de estado permitidas são:

  • QUEUED ->PENDING
  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Estado Descrição
QUEUED A execução foi acionada, mas está em fila porque atingiu um dos seguintes limites:
  • O máximo de ativos simultâneos é executado no espaço de trabalho.
  • A tarefa simultânea Run Job máxima é executada no espaço de trabalho.
  • O número máximo de execuções simultâneas da tarefa.

O trabalho ou o processo devem ter o enfileiramento ativado antes de poder atingir este estado.
PENDING A execução foi acionada. Se as execuções simultâneas máximas configuradas do trabalho já forem atingidas, a execução fará a transição imediata para o SKIPPED estado sem preparar nenhum recurso. Por outro lado, a preparação do cluster e a execução estão em andamento.
RUNNING A tarefa desta execução está a ser concluída.
TERMINATING A tarefa desta execução foi concluída e o cluster e o contexto de execução estão sendo limpos.
TERMINATED A tarefa desta execução foi concluída e o cluster e o contexto de execução foram limpos. Este estado é terminal.
SKIPPED Essa execução foi abortada porque uma execução anterior do mesmo trabalho já estava ativa. Este estado é terminal.
INTERNAL_ERROR Um estado excecional que indica uma falha no serviço de Jobs, como uma falha de rede durante um longo período. Se uma execução em um novo cluster terminar no estado INTERNAL_ERROR, o serviço de tarefas encerrará o cluster assim que possível. Este estado é terminal.

RunParameters

Parâmetros para esta execução. Apenas um dos jar_params, python_paramsou notebook_params deve ser especificado na run-now solicitação, dependendo do tipo de tarefa de trabalho. Os trabalhos que utilizam a tarefa JAR do Spark ou a tarefa Python usam uma lista de parâmetros com base em posição, enquanto os trabalhos com tarefas de notebook usam um mapa de chave-valor.

Nome do Campo Tipo Descrição
jar_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefas JAR do Spark, por exemplo. "jar_params": ["john doe", "35"] Os parâmetros serão usados para invocar a função principal da classe principal especificada na tarefa JAR do Spark. Se não for especificado no run-now, ele será definido como uma lista vazia por padrão. jar_params não pode ser especificado em conjunto com notebook_params. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"jar_params":["john doe","35"]}
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.
notebook_params Um mapa de ParamPair Um mapa de associação de chaves a valores para trabalhos com tarefas de notebook, por exemplo,
"notebook_params": {"name": "john doe", "age": "35"}. O mapa é passado para o bloco de notas e é acessível através da função dbutils.widgets.get .
Se não for especificado no run-now, a execução acionada usa os parâmetros base do trabalho.
notebook_params não pode ser especificado em conjunto com jar_params.
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.
A representação em JSON deste campo (ou seja,
{"notebook_params":{"name":"john doe","age":"35"}}) não pode exceder 10.000 bytes.
python_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefas Python, por exemplo. "python_params": ["john doe", "35"] Os parâmetros são passados para o arquivo Python como parâmetros de linha de comando. Caso seja especificado no run-now, isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]}
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.
Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.
spark_submit_params Uma matriz de STRING Uma lista de parâmetros para trabalhos com tarefa de envio em Spark, por exemplo:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Os parâmetros são passados para o script spark-submit como parâmetros de linha de comando. Caso seja especificado no run-now, isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]}
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.
Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.

EstadoDoResultadoDeExecução

O estado do resultado da execução.

  • Se life_cycle_state = TERMINATED: caso a execução tenha tido uma tarefa, o resultado é garantido estar disponível e indica o resultado dessa tarefa.
  • Se life_cycle_state = PENDING, RUNNINGou SKIPPED, o estado do resultado não estiver disponível.
  • If life_cycle_state = TERMINATING or lifecyclestate = INTERNAL_ERROR: o estado do resultado estará disponível se a execução tiver uma tarefa e tiver conseguido iniciá-la.

Uma vez disponível, o estado do resultado nunca muda.

Estado Descrição
SUCCESS A tarefa foi concluída com êxito.
FAILED A tarefa foi concluída com um erro.
TIMEDOUT A corrida foi interrompida depois de atingir o tempo limite.
CANCELED A execução foi cancelada a pedido do usuário.

RunState

Nome do Campo Tipo Descrição
life_cycle_state RunLifeCycleState Uma descrição da localização atual de uma corrida no ciclo de vida da corrida. Este campo está sempre disponível na resposta.
result_state RunResultState O estado do resultado de uma corrida. Se não estiver disponível, a resposta não incluirá este campo. Consulte RunResultState para obter detalhes sobre a disponibilidade de result_state.
user_cancelled_or_timedout BOOLEAN Se uma execução foi cancelada manualmente por um usuário ou pelo agendador porque a execução expirou.
state_message STRING Uma mensagem descritiva para o estado atual. Este campo não está estruturado e o seu formato exato está sujeito a alterações.

SparkConfPair

Pares chave-valor de configuração do Spark.

Tipo Descrição
STRING Um nome de propriedade de configuração.
STRING O valor da propriedade de configuração.

SparkEnvPair

Pares chave-valor de variáveis do ambiente Spark.

Importante

Ao especificar variáveis de ambiente em um cluster de trabalho, os campos nessa estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.

Tipo Descrição
STRING Um nome de variável de ambiente.
STRING O valor da variável de ambiente.

SparkJarTask

Nome do Campo Tipo Descrição
jar_uri STRING Obsoleto desde 04/2016. Em vez disso, forneça um jar através do campo libraries. Para obter um exemplo, consulte Criar.
main_class_name STRING O nome completo da classe que contém o método principal a ser executado. Essa classe deve estar contida em um JAR fornecido como uma biblioteca.
O código deve ser usado SparkContext.getOrCreate para obter um contexto Spark, caso contrário, as execuções do trabalho falharão.
parameters Uma matriz de STRING Parâmetros passados para o método principal.
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.

SparkPythonTask

Nome do Campo Tipo Descrição
python_file STRING O URI do arquivo Python a ser executado. Caminhos DBFS são suportados. Este campo é obrigatório.
parameters Uma matriz de STRING Parâmetros de linha de comando passados para o arquivo Python.
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.

SparkSubmitTask

Importante

  • Você pode invocar tarefas de envio do Spark somente em novos clusters.
  • Na especificação new_cluster, libraries e spark_conf não são suportados. Em vez disso, use --jars e --py-files para adicionar bibliotecas Java e Python e --conf para definir a configuração do Spark.
  • master, deploy-modee executor-cores são configurados automaticamente pelo Azure Databricks, não é possível especificá-los em parâmetros.
  • Por padrão, o trabalho de envio do Spark usa toda a memória disponível (excluindo a memória reservada para os serviços do Azure Databricks). Você pode ajustar --driver-memory e --executor-memory para um valor menor para deixar algum espaço para uso fora da pilha.
  • Os --jarsargumentos , --py-files, --files suportam caminhos DBFS.

Por exemplo, supondo que o JAR seja carregado no DBFS, você pode executar SparkPi definindo os seguintes parâmetros.

{
  "parameters": ["--class", "org.apache.spark.examples.SparkPi", "dbfs:/path/to/examples.jar", "10"]
}
Nome do Campo Tipo Descrição
parameters Uma matriz de STRING Parâmetros passados na linha de comando para o Spark Submit.
Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho.

Tipo de gatilho

Estes são os tipos de gatilhos que podem iniciar uma corrida.

Tipo Descrição
PERIODIC Agendas que acionam execuções periodicamente, como um agendador cron.
ONE_TIME Disparadores únicos que ativam uma única execução. Isso ocorre quando você acionou uma única execução sob demanda por meio da interface do usuário ou da API.
RETRY Indica uma execução que é acionada como uma nova tentativa de uma execução com falha anterior. Isso ocorre quando você solicita a execução do trabalho novamente em caso de falhas.

ViewItem

O conteúdo exportado está em formato HTML. Por exemplo, se a exibição a ser exportada for painéis, é retornada uma cadeia de caracteres HTML para cada painel.

Nome do Campo Tipo Descrição
content STRING Conteúdo da vista.
name STRING Nome do item de exibição. No caso da visualização de código, o nome do notebook. No caso da visualização do painel, o nome do painel.
type ViewType Tipo do item de exibição.

TipoDeVista

Tipo Descrição
NOTEBOOK Item de visualização do bloco de notas.
DASHBOARD Item de visualização do painel.

VistasParaExportar

Visualização para exportação: código, todos os painéis ou tudo.

Tipo Descrição
CODE Visualização de código do bloco de notas.
DASHBOARDS Todas as visões do painel do notebook.
ALL Todas as vistas do caderno.

Webhook

Nome do Campo Tipo Descrição
id STRING Identificador que faz referência a um destino de notificação do sistema. Este campo é obrigatório.

Notificações de Webhook

Nome do Campo Tipo Descrição
on_start Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução começa. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_start propriedade.
on_success Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um TERMINATEDlife_cycle_state e um SUCCESSFULresult_state. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_success propriedade.
on_failure Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR
life_cycle_state ou um SKIPPED, FAILED, ou TIMED_OUTresult_state. Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_failure propriedade.
on_duration_warning_threshold_exceeded Uma matriz de Webhook Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para a métrica RUN_DURATION_SECONDS no campo health. Um máximo de 3 destinos podem ser especificados para a on_duration_warning_threshold_exceeded propriedade.

Informações de Armazenamento do Espaço de Trabalho

Informações de armazenamento do espaço de trabalho.

Nome do Campo Tipo Descrição
destination STRING Destino do ficheiro. Exemplo: /Users/someone@domain.com/init_script.sh