API de empregos 2.0

Importante

Este artigo documenta a versão 2.0 da API Jobs. No entanto, a Databricks recomenda a utilização da API Jobs 2.1 para clientes e scripts novos e existentes. Para obter detalhes sobre as alterações das versões 2.0 para 2.1, consulte Atualizando da API Jobs 2.0 para 2.1.

A API de Jobs permite que você crie, edite e exclua Job. O tamanho máximo permitido de uma solicitação para a API de empregos é de 10 MB.

Para obter detalhes sobre atualizações na API Jobs que suportam a orquestração de múltiplas tarefas com Databricks Job, consulte Atualizando da API Jobs 2.0 para 2.1.

Aviso

Você nunca deve codificar segredos ou armazená-los em texto simples. Use a API Secrets para gerenciar segredos na CLI do Databricks. Use os segredos russos (dbutils.secrets) para fazer referência a segredos em Notebook e Job.

Observação

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 acessar APIs REST do Databricks, você deve autenticar o.

Criar

endpoint

Método HTTP

2.0/jobs/create

POST

Crie um novo Job.

Exemplo

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

Solicitar

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": "r3.xlarge",
    "aws_attributes": {
      "availability": "ON_DEMAND"
    },
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "email_notifications": {
    "on_start": [],
    "on_success": [],
    "on_failure": []
  },
  "webhook_notifications": {
    "on_start": [
      {
        "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
      }
    ],
    "on_success": [
      {
        "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
      }
    ],
    "on_failure": []
  },
  "notification_settings": {
    "no_alert_for_skipped_runs": false,
    "no_alert_for_canceled_runs": false,
    "alert_on_last_attempt": false
  },
  "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:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O conteúdo de create-job.json com campos apropriados para suas soluções.

Este exemplo usa um .netrc arquivo e jq.

Resposta

{
  "job_id": 1
}

Estrutura do pedido

Importante

  • Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.

  • Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.

Nome do campo

Tipo

Descrição

existing_cluster_id OU new_cluster

STRING OU NovoCluster

Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade.

Se new_clusters, uma descrição de clusters que serão criados 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, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que este Job deve executar um JAR.

Se spark_python_task, indica que este Job deve executar um arquivo Python.

Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark.

Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables.

Se execução, indica que este Job deve executar outro Job.

name

STRING

Um nome opcional para o Job. O valor default é Untitled.

libraries

Uma matriz de biblioteca

Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia.

email_notifications

JobEmailNotifications

Um conjunto opcional de endereços email notificados quando a execução deste Job começa e termina e quando este Job é excluído. O comportamento default é não enviar nenhum email.

webhook_notifications

Webhook Notificações

Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha.

notification_settings

JobNotificationSettings

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 Job.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é 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 FAILED result_state ou INTERNAL_ERROR life_cycle_state. O valor -1 significa tentar novamente indefinidamente e o valor 0 significa nunca tentar novamente. O comportamento default é nunca tentar novamente.

min_retry_interval_millis

INT32

Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a próxima tentativa subsequente. O comportamento default é que as execuções malsucedidas são imediatamente repetidas.

retry_on_timeout

BOOL

Uma política opcional para especificar se uma Job deve ser repetida quando ela atingir o tempo limite. O comportamento default é não tentar novamente no tempo limite.

schedule

CronSchedule

Um programador periódico opcional para este Job. O comportamento default é a execução da Job quando acionada clicando em execução agora na interface do usuário de tarefas ou enviando uma solicitação de API para runNow.

max_concurrent_runs

INT32

Um número máximo permitido opcional de execução concorrente do Job.

Defina esse valor se desejar executar várias execuções do mesmo Job simultaneamente. Isso é útil, por exemplo, se você acionar seu Job em um programar frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se você quiser acionar múltiplas execuções que diferem por seus parâmetros de entrada.

Esta configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do Jobseja 4 e existam 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. Porém, a partir de então, novas execuções são omitidas, a menos que existam menos de 3 execuções ativas.

Este valor não pode exceder 1000. Definir esse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento default é permitir apenas 1 execução concorrente.

Estrutura de resposta

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico para o Job recém-criado.

Lista

endpoint

Método HTTP

2.0/jobs/list

GET

Listar todos Job.

Exemplo

Solicitar

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 Databricks, por exemplo, dbc-a1b2345c-d6e7.cloud.databricks.com.

Este exemplo usa um .netrc arquivo e jq.

Resposta

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "r3.xlarge",
          "aws_attributes": {
            "availability": "ON_DEMAND"
          },
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "email_notifications": {
          "on_start": [],
          "on_success": [],
          "on_failure": []
        },
        "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 Job.

Excluir

endpoint

Método HTTP

2.0/jobs/delete

POST

Exclua um Job e envie um email para os endereços especificados em JobSettings.email_notifications. Nenhuma ação ocorrerá se o Job já tiver sido removido. Depois que o Job é removido, nem seus detalhes nem sua história de execução ficam visíveis na interface do usuário ou na API dos trabalhos. É garantido que o Job será removido após a conclusão desta solicitação. No entanto, as execuções que estavam ativas antes do recebimento desta solicitação ainda podem estar ativas. 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:

Este exemplo usa um .netrc arquivo.

Estrutura do pedido

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do Job a ser excluído. Este campo é obrigatório.

Pegar

endpoint

Método HTTP

2.0/jobs/get

GET

Recuperar informações sobre um único Job.

Exemplo

Solicitar

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 .netrc arquivo e jq.

Resposta

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "r3.xlarge",
      "aws_attributes": {
        "availability": "ON_DEMAND"
      },
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "email_notifications": {
      "on_start": [],
      "on_success": [],
      "on_failure": []
    },
    "webhook_notifications": {
      "on_start": [
        {
          "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
        }
      ],
      "on_success": [
        {
          "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
        }
      ],
      "on_failure": []
    },
    "notification_settings": {
      "no_alert_for_skipped_runs": false,
      "no_alert_for_canceled_runs": false,
      "alert_on_last_attempt": false
    },
    "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 Job sobre o qual recuperar informações. Este campo é obrigatório.

Estrutura de resposta

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico para este Job.

creator_user_name

STRING

O nome de usuário do criador. Este campo não será incluído na resposta se o usuário tiver sido excluído.

settings

JobSettings

Configurações para este Job e toda a sua execução. Essas configurações podem ser atualizadas usando os endpoints Reset ou Atualizar .

created_time

INT64

A hora em que esta Job foi criada em milissegundos de época (milissegundos desde 01/01/1970 UTC).

Reset

endpoint

Método HTTP

2.0/jobs/reset

POST

Substitua todas as configurações de um Job específico. Use o endpoint Update para atualizar parcialmente as configurações Job .

Exemplo

Essa solicitação de exemplo torna Job 2 idêntica à Job 1 no exemplo de criação .

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": "r3.xlarge",
      "aws_attributes": {
        "availability": "ON_DEMAND"
      },
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "email_notifications": {
      "on_start": [],
      "on_success": [],
      "on_failure": []
    },
    "webhook_notifications": {
      "on_start": [
        {
          "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
        }
      ],
      "on_success": [
        {
          "id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
        }
      ],
      "on_failure": []
    },
    "notification_settings": {
      "no_alert_for_skipped_runs": false,
      "no_alert_for_canceled_runs": false,
      "alert_on_last_attempt": false
    },
    "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:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O conteúdo de reset-job.json com campos apropriados para suas soluções.

Este exemplo usa um .netrc arquivo e jq.

Estrutura do pedido

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do Job a ser Reset. Este campo é obrigatório.

new_settings

JobSettings

As novas configurações do Job. Essas configurações substituem completamente as configurações antigas.

Alterações no campo JobSettings.timeout_seconds são aplicadas à execução ativa. Alterações em outros campos são aplicadas apenas à execução futura.

Atualizar

endpoint

Método HTTP

2.0/jobs/update

POST

Adicione, altere ou remova configurações específicas de um Job existente. Use oendpoint Reset para substituir todas as configurações Job .

Exemplo

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

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:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O conteúdo de update-job.json com campos apropriados para suas soluções.

Este exemplo usa um .netrc arquivo e jq.

Estrutura do pedido

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do Job a ser atualizado. Este campo é obrigatório.

new_settings

JobSettings

As novas configurações para o Job.

Os campos de nível superior especificados em new_settings, exceto matrizes, são completamente substituídos. As matrizes são merge com base nos respectivos campos key , como task_key ou job_cluster_key, e as entradas da matriz com a mesma key são completamente substituídas. Exceto para mesclagem de matrizes, a atualização parcial de campos aninhados não é suportada.

Alterações no campo JobSettings.timeout_seconds são aplicadas à execução ativa. Alterações em outros campos são aplicadas apenas à execução futura.

fields_to_remove

Uma matriz de STRING

Remova os campos de nível superior nas configurações Job . A remoção de campos aninhados não é suportada, exceto para 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.

execução agora

Importante

  • Um workspace é limitado a 1000 execuções de tarefas simultâneas. Uma resposta 429 Too Many Requests é retornada quando você solicita uma execução que não pode começar imediatamente.

  • O número de Job que um workspace pode criar em uma hora é limitado a 10.000 (inclui “envio de execução”). Esse limite também afeta Job criado pela API REST e o fluxo de trabalho Notebook .

endpoint

Método HTTP

2.0/jobs/run-now

POST

Execute um Job agora e retorne o run_id da execução acionada.

Dica

Se você invocar Create junto com execução now, poderá usar o endpoint de envio de execução , que permite enviar sua carga de trabalho diretamente sem precisar criar um Job.

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 Job Notebook:

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

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

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

Substituir:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O conteúdo de run-job.json com campos apropriados para suas soluções.

Este exemplo usa um .netrc arquivo 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 Job 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 Spark JAR. Se não for especificado em run-now, o default será uma lista vazia. jar_params não pode ser especificado em conjunto com Notebook. A representação JSON deste campo (ou seja, {"jar_params":["john doe","35"]}) não pode exceder 10.000 bytes.

notebook_params

Um mapa de ParamPair

Um mapa da key para os valores da tarefa Job with Notebook , por exemplo "notebook_params": {"name": "john doe", "age":  "35"}. O mapa é passado para o Notebook e pode ser acessado por meio da função dbutils.widgets.get .

Se não for especificado em run-now, a execução acionada usará os parâmetros base do Job .

Você não pode especificar Notebook 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 Job 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. Se especificado em run-now, substituirá os parâmetros especificados na configuração Job . A representação JSON deste campo (ou seja, {"python_params":["john doe","35"]}) não pode exceder 10.000 bytes.

spark_submit_params

Uma matriz de STRING

Uma lista de parâmetros para Job com tarefa de envio de faísca, 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. Se especificado em run-now, substituirá os parâmetros especificados na configuração Job . A representação JSON deste campo não pode exceder 10.000 bytes.

idempotency_token

STRING

Um tokens opcional para garantir a idempotência das solicitações de execução Job . Se já existir uma execução com os tokens fornecidos, a solicitação não criará uma nova execução, mas retornará o ID da execução existente. Se uma execução com os tokens fornecidos for excluída, um erro será retornado.

Se você especificar os tokens de idempotência , em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. Databricks garante que exatamente uma execução seja iniciada com esses tokens de idempotência.

Esses tokens devem ter no máximo 64 caracteres.

Para obter mais informações, consulte Como garantir idempotência para Job.

Estrutura de resposta

Nome do campo

Tipo

Descrição

run_id

INT64

O ID globalmente exclusivo da execução recém-acionada.

number_in_job

INT64

O número de sequência desta execução entre todas as execuções do Job.

execução submeter

Importante

  • Um workspace é limitado a 1000 execuções de tarefas simultâneas. Uma resposta 429 Too Many Requests é retornada quando você solicita uma execução que não pode começar imediatamente.

  • O número de Job que um workspace pode criar em uma hora é limitado a 10.000 (inclui “envio de execução”). Esse limite também afeta Job criado pela API REST e o fluxo de trabalho Notebook .

endpoint

Método HTTP

2.0/jobs/runs/submit

POST

Envie uma execução única. Esse endpoint permite que você envie uma carga de trabalho diretamente sem criar um Job. Use a API jobs/runs/get para verificar o estado de execução após o envio da Job .

Exemplo

Solicitar

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": "r3.xlarge",
    "aws_attributes": {
      "availability": "ON_DEMAND"
    },
    "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 Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O conteúdo de submit-job.json com campos apropriados para suas soluções.

Este exemplo usa um .netrc arquivo e jq.

Resposta

{
  "run_id": 123
}

Estrutura do pedido

Importante

  • Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.

  • Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.

Nome do campo

Tipo

Descrição

existing_cluster_id OU new_cluster

STRING OU NovoCluster

Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade.

Se new_clusters, uma descrição de clusters que serão criados 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, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que este Job deve executar um JAR.

Se spark_python_task, indica que este Job deve executar um arquivo Python.

Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark.

Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables.

Se execução, indica que este Job deve executar outro Job.

run_name

STRING

Um nome opcional para a execução. O valor default é Untitled.

webhook_notifications

Webhook Notificações

Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha.

notification_settings

JobNotificationSettings

Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos webhook_notifications para esta execução.

libraries

Uma matriz de biblioteca

Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é não ter tempo limite.

idempotency_token

STRING

Um tokens opcional para garantir a idempotência das solicitações de execução Job . Se já existir uma execução com os tokens fornecidos, a solicitação não criará uma nova execução, mas retornará o ID da execução existente. Se uma execução com os tokens fornecidos for excluída, um erro será retornado.

Se você especificar os tokens de idempotência , em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. Databricks garante que exatamente uma execução seja iniciada com esses tokens de idempotência.

Esses tokens devem ter no máximo 64 caracteres.

Para obter mais informações, consulte Como garantir idempotência para Job.

Estrutura de resposta

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico para a execução recém-enviada.

lista de execução

endpoint

Método HTTP

2.0/jobs/runs/list

GET

Liste a execução em ordem decrescente por hora de começar.

Observação

execução são removidos automaticamente após 60 dias. Se você 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 da execução Job . Para exportar usando a API Jobs, consulte execução export.

Exemplo

Solicitar

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 Databricks, por exemplo dbc-a1b2345c-d6e7.cloud.databricks.com.

  • <job-id> com o ID do Job, 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 .netrc arquivo 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, apenas a execução ativa será incluída nos resultados; caso contrário, lista tanto a execução ativa quanto a concluída. Uma execução ativa é uma execução no PENDING, RUNNING ou TERMINATING RunLifecycleState. Este campo não pode ser true quando complete_only é true.

Se complete_only for true, somente a execução completa será incluída nos resultados; caso contrário, lista tanto a execução ativa quanto a concluída. Este campo não pode ser true quando active_only é true.

job_id

INT64

O Job para o qual listar a execução. Se omitido, o serviço Jobs listará a execução de todos os jobs.

offset

INT32

O deslocamento da primeira execução a retornar, em relação à execução mais recente.

limit

INT32

O número de execução para retornar. Este valor deve ser maior que 0 e menor que 1000. O valor default é 20. Se uma solicitação especificar um limite de 0, o serviço usará o limite máximo.

run_type

STRING

O tipo de execução a retornar. Para obter uma descrição dos tipos de execução, consulte Run.

Estrutura de resposta

Nome do campo

Tipo

Descrição

runs

Uma matriz de execução

Uma lista de execução, do mais recente começar ao menos.

has_more

BOOL

Se true, execuções adicionais correspondentes ao filtro fornecido estarão disponíveis para listagem.

execução get

endpoint

Método HTTP

2.0/jobs/runs/get

GET

Recupere os metadados de uma execução.

Observação

execução são removidos automaticamente após 60 dias. Se você 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 da execução Job . Para exportar usando a API Jobs, consulte execução export.

Exemplo

Solicitar

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:

Este exemplo usa um .netrc arquivo 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 canônico da Job que contém esta execução.

run_id

INT64

O identificador canônico da execução. Este ID é único em toda a execução de todo Job.

number_in_job

INT64

O número de sequência desta execução entre todas as execuções do Job. 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 conterá o run_id da tentativa original; caso contrário, é igual ao run_id.

state

RunState

O resultado e os estados do ciclo de vida da execução.

schedule

CronSchedule

O cron programar que acionou esta execução se foi acionado pelo programador periódico.

task

Tarefa do serviço

A tarefa executada pela execução, se houver.

cluster_spec

ClusterSpec

Um Snapshot da especificação clustersdo Job quando esta execução foi criada.

cluster_instance

ClusterInstance

Os clusters usados para esta execução. Se a execução for especificada para usar novos clusters, esse campo será definido assim que o serviço Jobs solicitar clusters para a execução.

overriding_parameters

RunParameters

Os parâmetros usados para esta execução.

start_time

INT64

A hora em que esta corrida começou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa Job começa a ser executada, por exemplo, se o Job estiver agendado para execução em novos clusters, este é o horário em que a chamada de criação clusters é emitida.

end_time

INT64

A hora em que esta execução terminou em milissegundos de época (milissegundos desde 01/01/1970 UTC). Este campo será definido como 0 se o Job ainda estiver em execução.

setup_duration

INT64

O tempo em milissegundos que levou para configurar os clusters. Para a execução dessa execução em novos clusters, este é o tempo de criação do cluster, para a execução dessa execução em clusters existentes, esse tempo deve ser muito curto. A duração total da execução é a soma de setup_duration, execution_duration e cleanup_duration. O campo setup_duration é definido como 0 para execução Job multitarefa. A duração total da execução de uma Job multitarefa é o valor do campo run_duration.

execution_duration

INT64

O tempo em milissegundos que levou para executar os comandos no JAR ou Notebook até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. A duração total da execução é a soma de setup_duration, execution_duration e cleanup_duration. O campo execution_duration é definido como 0 para execução Job multitarefa. A duração total da execução de uma Job multitarefa é o valor do campo run_duration.

cleanup_duration

INT64

O tempo em milissegundos que levou para encerrar os clusters e limpar quaisquer artefatos associados. A duração total da execução é a soma de setup_duration, execution_duration e cleanup_duration. O campo cleanup_duration é definido como 0 para execução Job multitarefa. A duração total da execução de uma Job multitarefa é o valor do campo run_duration.

run_duration

INT64

O tempo em milissegundos que a execução Job e todos os seus reparos levaram para terminar. Este campo é definido apenas para a execução Job multitarefa e não para a execução da tarefa. A duração da execução de uma tarefa é a soma de setup_duration, execution_duration e cleanup_duration.

trigger

Tipo de gatilho

O tipo de gatilho que disparou 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 usuário tiver sido excluído

run_page_url

STRING

A URL para a página de detalhes da execução.

exportação de execução

endpoint

Método HTTP

2.0/jobs/runs/export

GET

Exporte e recupere a tarefa de execução Job .

Observação

Somente a execução Notebook pode ser exportada no formato HTML. A execução de exportação de outros tipos falhará.

Exemplo

Solicitar

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:

Este exemplo usa um .netrc arquivo 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, downloads e execute este script Python.

Observação

O corpo Notebook no objeto __DATABRICKS_NOTEBOOK_MODEL é codificado.

Estrutura do pedido

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico para a execução. Este campo é obrigatório.

views_to_export

ViewsToExport

Qual view exportar (CODE, DASHBOARDS ou ALL). default para CÓDIGO.

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 view ).

execução cancelar

endpoint

Método HTTP

2.0/jobs/runs/cancel

POST

Cancele a execução Job . Como a execução é cancelada de forma assíncrona, ela ainda pode estar em execução quando essa solicitação for concluída. A execução será encerrada em breve. Se a execução já estiver em um terminal life_cycle_state, esse método é não operacional.

Este endpoint valida que o parâmetro run_id é 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:

Este exemplo usa um .netrc arquivo.

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ção cancelar tudo

endpoint

Método HTTP

2.0/jobs/runs/cancel-all

POST

Cancela toda execução ativa de um Job. Como a execução é cancelada de forma assíncrona, isso não impede que novas execuções sejam iniciadas.

Este endpoint valida que o parâmetro job_id é 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:

Este exemplo usa um .netrc arquivo.

Estrutura do pedido

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do Job para cancelar toda a execução. Este campo é obrigatório.

execução obter saída

endpoint

Método HTTP

2.0/jobs/runs/get-output

GET

Recupere a saída e os metadados de uma única execução de tarefa. Quando uma tarefa Notebook retorna um valor por meio do dbutils.Notebook.exit() chamada, você pode usar esse endpoint para recuperar esse valor. Databricks restringe esta API para retornar os primeiros 5 MB da saída. Para retornar um resultado maior, você pode armazenar os resultados Job em um serviço de armazenamento cloud .

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

execução são removidos automaticamente após 60 dias. Se você 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 da execução Job . Para exportar usando a API Jobs, consulte execução export.

Exemplo

Solicitar

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:

Este exemplo usa um .netrc arquivo 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 Job com várias tarefas, este é o run_id da execução de uma tarefa. Veja execução obter saída. Este campo é obrigatório.

Estrutura de resposta

Nome do campo

Tipo

Descrição

notebook_output OU error

NotebookSaída OU STRING

Se Notebook, a saída de uma tarefa Notebook , se disponível. Uma tarefa Notebook que termina (seja com sucesso ou com falha) sem chamar dbutils.notebook.exit() é considerada 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 é estruturada e seu formato exato está sujeito a alterações.

metadata

execução

Todos os detalhes da execução, exceto sua saída.

execução deletar

endpoint

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 .netrc arquivo.

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

Escala automática

Intervalo que define o número mínimo e máximo de clusters worker.

Nome do campo

Tipo

Descrição

min_workers

INT32

O número mínimo de worker para os quais os clusters podem ser reduzidos quando subutilizados. É também o número inicial de worker que os clusters terão após a criação.

max_workers

INT32

O número máximo de worker para os quais os clusters podem ser dimensionados quando sobrecarregados. max_workers deve ser estritamente maior que min_workers.

AwsAttributes

Atributos definidos durante a criação clusters relacionados ao Amazon Web serviço.

Nome do campo

Tipo

Descrição

first_on_demand

INT32

Os primeiros nós first_on_demand dos clusters serão colocados em instâncias sob demanda. Se esse valor for maior que 0, o nó do driver clusters será colocado em uma instância sob demanda. Se esse valor for maior ou igual ao tamanho atual clusters , todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho atual clusters , os nós first_on_demand serão colocados em instâncias sob demanda e os restantes serão colocados em availability instâncias. Esse valor não afeta o tamanho clusters e não pode sofrer mutação durante o tempo de vida de um clusters.

availability

AwsAvailability

Tipo de disponibilidade usado para todos os nós subsequentes após os first_on_demand. Observação: se first_on_demand for zero, esse tipo de disponibilidade será usado para todos os clusters.

zone_id

STRING

Identificador para a zona de disponibilidade (AZ) na qual os clusters residem. Por default, a configuração tem um valor de auto, também conhecido como Auto-AZ. Com o Auto-AZ, o Databricks seleciona o AZ com base nos IPs disponíveis nas sub-redes workspace e tenta novamente em outras zonas de disponibilidade se a AWS retornar erros de capacidade insuficiente.

Se desejar, você também pode especificar uma zona de disponibilidade para usar. Isso beneficia account que possuem instâncias reservadas em uma AZ específica. Especifique o AZ como strings (por exemplo, "us-west-2a"). A zona de disponibilidade fornecida deve estar na mesma região que a implantação do Databricks. Por exemplo, “us-west-2a” não é uma ID de zona válida se a implantação do Databricks residir na região “us-east-1”.

A lista de zonas disponíveis, bem como o valor default , podem ser encontrados usando o comando GET /api/2.0/clusters/list-zones chamar.

instance_profile_arn

STRING

Os nós para esses clusters serão colocados apenas em instâncias da AWS com esse instance profile. Se omitido, os nós serão colocados em instâncias sem um instance profile. O instance profile deve ter sido adicionado anteriormente ao ambiente Databricks por um administrador account .

Esse recurso pode estar disponível apenas para determinados planos de clientes.

spot_bid_price_percent

INT32

O preço máximo para instâncias spot da AWS, como uma porcentagem do preço sob demanda do tipo de instância correspondente. Por exemplo, se este campo for definido como 50 e os clusters precisarem de uma nova instância spot i3.xlarge, o preço máximo será metade do preço das instâncias i3.xlarge sob demanda. Da mesma forma, se esse campo for definido como 200, o preço máximo será o dobro do preço das instâncias i3.xlarge sob demanda. Se não especificado, o valor default é 100. Quando instâncias spot forem solicitadas para esses clusters, apenas as instâncias spot cuja porcentagem de preço máximo corresponder a esse campo serão consideradas. Por segurança, impomos que esse campo tenha mais de 10.000.

ebs_volume_type

EbsVolumeType

O tipo de volumes EBS que serão iniciados com esses clusters.

ebs_volume_count

INT32

O número de volumes lançados para cada instância. Você pode escolher até 10 volumes. Esse recurso é ativado apenas para tipos de nó com suporte. Os tipos de nós legados não podem especificar volumes personalizados do EBS. Para tipos de nó sem armazenamento de instância, pelo menos um volume EBS precisa ser especificado; caso contrário, a criação clusters falhará.

Esses volumes EBS serão montados em /ebs0, /ebs1, etc. Os volumes de armazenamento de instâncias serão montados em /local_disk0, /local_disk1, etc.

Se os volumes EBS estiverem anexados, o Databricks configurará o Spark para usar apenas os volumes EBS para armazenamento temporário porque dispositivos temporários de tamanho heterogêneo podem levar à utilização ineficiente do disco. Se nenhum volume EBS estiver anexado, o Databricks configurará o Spark para usar volumes de armazenamento de instâncias.

Se os volumes EBS forem especificados, a configuração do Spark spark.local.dir será substituída.

ebs_volume_size

INT32

O tamanho de cada volume do EBS (em GiB) iniciado para cada instância. Para SSD de propósito geral, este valor deve estar dentro do intervalo 100 - 4096. Para HDD otimizado para taxa de transferência, esse valor deve estar entre 500 e 4096. Os volumes personalizados do EBS não podem ser especificados para os tipos de nós legados (com otimização de memória e otimizaçãocompute).

ebs_volume_iops

INT32

O número de IOPS por volume EBS gp3.

Este valor deve estar entre 3000 e 16000.

O valor de IOPS e Taxa de transferência é calculado com base na documentação da AWS para corresponder ao desempenho máximo de um volume gp2 com o mesmo tamanho de volume.

Para obter mais informações, consulte a calculadora de limite de volume do EBS.

ebs_volume_throughput

INT32

A Taxa de transferência por EBS gp3 volume, em MiB por segundo.

Este valor deve estar entre 125 e 1000.

Se nem ebs_volume_iops nem ebs_volume_throughput forem especificados, os valores serão inferidos a partir do tamanho do disco:

tamanho do disco

IOPS

Taxa de transferência

Maior que 1000

3 vezes o tamanho do disco, até 16000

250

Entre 170 e 1000

3000

250

abaixo 170

3000

125

AwsAvailability

O conjunto de tipos de disponibilidade da AWS com suporte ao configurar nós para clusters.

Tipo

Descrição

SPOT

Use instâncias pontuais.

ON_DEMAND

Use instâncias sob demanda.

SPOT_WITH_FALLBACK

De preferência, use instâncias spot, mas volte para instâncias sob demanda se as instâncias spot não puderem ser adquiridas (por exemplo, se os preços spot da AWS forem muito altos).

ClusterInstance

Identificadores para os clusters e o contexto Spark usados por uma execução. Esses dois valores juntos identificam um contexto de execução ao longo do tempo.

Nome do campo

Tipo

Descrição

cluster_id

STRING

O identificador canônico para os clusters usados por uma execução. Este campo está sempre disponível para execução em clusters existentes. Para execução em novos clusters, fica disponível assim que o cluster é criado. Este valor pode ser usado para view 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

O identificador canônico para o contexto Spark usado por uma execução. Este campo será preenchido assim que a execução iniciar a execução. Esse valor pode ser usado para view a Spark UI navegando até /#setting/sparkui/$cluster_id/$spark_context_id. A Spark UI 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 logs clusters.

Nome do campo

Tipo

Descrição

dbfs OU s3

DbfsStorageInfo

S3StorageInfo

Localização DBFS de logs clusters. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

Localização S3 de logs clusters. destination e region ou warehouse devem ser fornecidos. Por exemplo, { "s3": { "destination" : "s3://cluster_log_bucket/prefix", "region" : "us-west-2" } }

ClusterSpec

Importante

  • Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.

  • Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.

Nome do campo

Tipo

Descrição

existing_cluster_id OU new_cluster

STRING OU NovoCluster

Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade.

Se new_clusters, uma descrição de clusters que serão criados para cada execução.

Se especificar um PipelineTask, esse campo pode estar vazio.

libraries

Uma matriz de biblioteca

Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia.

ClusterTag

clusters Tag .

Tipo

Descrição

STRING

A key das tags. O comprimento key deve estar entre 1 e 127 caracteres UTF-8, inclusive. Para obter uma lista de todas as restrições, consulte Restrições de tags da AWS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

STRING

O valor das tags. O comprimento do valor deve ser menor ou igual a 255 caracteres UTF-8. Para obter uma lista de todas as restrições, consulte Restrições de tags da AWS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

CronSchedule

Nome do campo

Tipo

Descrição

quartz_cron_expression

STRING

Uma expressão Cron usando a sintaxe Quartz que descreve o programar para um Job. Consulte Gatilho Cron para obter detalhes. Este campo é obrigatório.

timezone_id

STRING

Um ID de fuso horário Java. A programação de um Job será resolvida com relação a este fuso horário. Consulte Java TimeZone para obter detalhes. Este campo é obrigatório.

pause_status

STRING

Indique se este programar está pausado ou não. Ou “pausa” ou “UNpausa”.

DbfsStorageInfo

Informações de armazenamento DBFS.

Nome do campo

Tipo

Descrição

destination

STRING

Destino DBFS. Exemplo: dbfs:/my/path

EbsVolumeType

O Databricks dá suporte aos tipos de volume EBS gp2 e gp3. Siga as instruções em gerenciar armazenamento SSD para selecionar gp2 ou gp3 para seu workspace.

Tipo

Descrição

GENERAL_PURPOSE_SSD

provisionamento de armazenamento extra usando volumes AWS EBS.

THROUGHPUT_OPTIMIZED_HDD

provisionamento de armazenamento extra usando volumes AWS st1.

FileStorageInfo

Informação de armazenamento de arquivo.

Observação

Este tipo de localização só está disponível para clusters configurados usando Databricks Container Services.

Nome do campo

Tipo

Descrição

destination

STRING

Destino do arquivo. Exemplo: file:/my/file.sh

InitScriptInfo

Caminho para um init script.

Para obter instruções sobre como usar init script com o Databricks Container Services, consulte Usar um init script.

Observação

O tipo de armazenamento de arquivos (nome do campo: file) só está disponível para clusters configurados usando Databricks Container Services. Consulte FileStorageInfo.

Nome do campo

Tipo

Descrição

workspace OU dbfs (obsoleto)

OU S3

WorkspaceStorageInfo

DbfsStorageInfo (obsoleto)

S3StorageInfo

localização da workspace do init script. O destino deve ser fornecido. Por exemplo, { "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Descontinuado) Localização DBFS do init script. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Localização S3 do init script. O destino e a região ou armazém devem ser fornecidos. Por exemplo, { "s3": { "destination" : "s3://init_script_bucket/prefix", "region" : "us-west-2" } }

Job

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico para este Job.

creator_user_name

STRING

O nome de usuário do criador. Este campo não será incluído na resposta se o usuário já tiver sido excluído.

run_as

STRING

O nome de usuário com o qual o Job será executado. run_as é baseado nas configurações atuais Job e é definido como o criador do Job se o controle de acesso Job estiver desativado ou a permissão is_owner se o controle de acesso ao Job estiver ativado.

settings

JobSettings

Configurações para este Job e toda a sua execução. Essas configurações podem ser atualizadas usando o método resetJob .

created_time

INT64

A hora em que esta Job foi criada em milissegundos de época (milissegundos desde 01/01/1970 UTC).

JobEmailNotifications

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 não ASCII inválidos são kanjis chineses, japoneses e emojis.

Nome do campo

Tipo

Descrição

on_start

Uma matriz de STRING

Uma lista de endereços email a serem notificados quando uma execução começar. Se não for especificado em Criação Job , Reset ou atualização, a lista estará vazia e as notificações não serão enviadas.

on_success

Uma matriz de STRING

Uma lista de endereços email a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_state. Se não for especificado em Criação Job , Reset ou atualização, a lista estará vazia e as notificações não serão enviadas.

on_failure

Uma matriz de STRING

Uma lista de endereços email a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED, FAILED ou TIMED_OUT result_state. Se isso não for especificado em Criação Job , Reset ou atualizar, 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 email a serem notificados quando a duração de uma execução exceder o limite especificado para RUN_DURATION_SECONDS métricas no campo health. Se nenhuma regra para o indicador RUN_DURATION_SECONDS for especificada no campo health do Job, as notificações não serão enviadas.

no_alert_for_skipped_runs

BOOL

Se verdadeiro, não envie email para 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çar. Se não for especificado em Criação Job , Reset 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 propriedade on_start .

on_success

Uma matriz de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_state. Se não for especificado em Criação Job , Reset 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 propriedade on_success .

on_failure

Uma matriz de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED, FAILED ou TIMED_OUT result_state. Se isso não for especificado em Criação Job , Reset ou atualizar, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a propriedade on_failure .

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 o RUN_DURATION_SECONDS indicador no campo health . Um máximo de 3 destinos podem ser especificados para a propriedade on_duration_warning_threshold_exceeded .

JobNotificationSettings

Nome do campo

Tipo

Descrição

no_alert_for_skipped_runs

BOOL

Se verdadeiro, não envie notificações aos 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 aos destinatários especificados em on_failure se a execução for cancelada.

alert_on_last_attempt

BOOL

Se verdadeiro, não envie notificações aos destinatários especificados em on_start para as execuções repetidas e não envie notificações aos destinatários especificados em on_failure até a última tentativa de execução.

JobSettings

Importante

  • Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.

  • Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.

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

Nome do campo

Tipo

Descrição

existing_cluster_id OU new_cluster

STRING OU NovoCluster

Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade.

Se new_clusters, uma descrição de clusters que serão criados 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, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que este Job deve executar um JAR.

Se spark_python_task, indica que este Job deve executar um arquivo Python.

Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark.

Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables.

Se execução, indica que este Job deve executar outro Job.

name

STRING

Um nome opcional para o Job. O valor default é Untitled.

libraries

Uma matriz de biblioteca

Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia.

email_notifications

JobEmailNotifications

Um conjunto opcional de endereços email que serão notificados quando a execução deste Job for iniciada ou concluída, bem como quando este Job for excluído. O comportamento default é não enviar nenhum email.

webhook_notifications

Webhook Notificações

Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha.

notification_settings

JobNotificationSettings

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 Job.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é 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 FAILED result_state ou INTERNAL_ERROR life_cycle_state. O valor -1 significa tentar novamente indefinidamente e o valor 0 significa nunca tentar novamente. O comportamento default é nunca tentar novamente.

min_retry_interval_millis

INT32

Um intervalo mínimo opcional em milissegundos entre as tentativas. O comportamento default é que as execuções malsucedidas são imediatamente repetidas.

retry_on_timeout

BOOL

Uma política opcional para especificar se uma Job deve ser repetida quando ela atingir o tempo limite. O comportamento default é não tentar novamente no tempo limite.

schedule

CronSchedule

Um programador periódico opcional para este Job. O comportamento default é que o Job só será executado quando acionado clicando em “execução 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 permitido opcional de execução concorrente do Job.

Defina esse valor se desejar executar várias execuções do mesmo Job simultaneamente. Isso é útil, por exemplo, se você acionar seu Job em um programar frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se você quiser acionar múltiplas execuções que diferem por seus parâmetros de entrada.

Esta configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do Jobseja 4 e existam 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. Porém, a partir de então, novas execuções serão omitidas, a menos que existam menos de 3 execuções ativas.

Este valor não pode exceder 1000. Definir esse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento default é permitir apenas 1 execução concorrente.

health

EmpregosSaúdeRegras

Um conjunto opcional de regras de integridade definidas para o Job.

Tarefa do serviço

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, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que este Job deve executar um JAR.

Se spark_python_task, indica que este Job deve executar um arquivo Python.

Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark.

Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables.

Se execução, indica que este Job deve executar outro Job.

EmpregosRegra de Saúde

Nome do campo

Tipo

Descrição

metric

STRING

Especifica as métricas de integridade que estão sendo avaliadas para uma regra de integridade específica. Os valores válidos são RUN_DURATION_SECONDS.

operator

STRING

Especifica o operador usado para comparar o valor dos indicadores de integridade com o limite especificado. Os valores válidos são GREATER_THAN.

value

INT32

Especifica o valor limite que os indicadores de integridade devem atender para cumprir a regra de integridade.

EmpregosSaúdeRegras

Nome do campo

Tipo

Descrição

rules

Uma matriz de JobsHealthRule

Um conjunto opcional de regras de integridade que podem ser definidas para um Job.

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 jar, URI do JAR a ser instalado. DBFS e S3 URIs são suportados. Por exemplo: { "jar": "dbfs:/mnt/databricks/library.jar" } ou { "jar": "s3://my-bucket/library.jar" }. Se S3 for usado, certifique-se de que os clusters tenham acesso de leitura na biblioteca. Pode ser necessário iniciar os clusters com um instance profile para acessar o S3 URI.

Se ovo, URI do ovo a ser instalado. DBFS e S3 URIs são suportados. Por exemplo: { "egg": "dbfs:/my/egg" } ou { "egg": "s3://my-bucket/egg" }. Se S3 for usado, certifique-se de que os clusters tenham acesso de leitura na biblioteca. Pode ser necessário iniciar os clusters com um instance profile para acessar o S3 URI.

Se for o caso, URI do wheel ou wheels compactado a ser instalado. URIs DBFS e S3 são suportados. Por exemplo: { "whl": "dbfs:/my/whl" } ou { "whl": "s3://my-bucket/whl" }. Se S3 for usado, certifique-se de que os clusters tenham acesso de leitura na biblioteca. Talvez seja necessário iniciar os clusters com um instance profile para acessar o URI do S3. Além disso, o nome do arquivo wheel precisa usar a convenção correta. Se wheels compactado for instalado, o sufixo do nome do arquivo deverá ser .wheelhouse.zip.

Se pypi, especificação de uma biblioteca PyPI a ser instalada. Especificar o campo repo é opcional e, se não for especificado, o índice pip default será 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 cran, especificação de uma biblioteca CRAN a ser instalada.

MavenLibraryName

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

repo Maven para instalar o pacote Maven. Se omitido, tanto o repositório Maven Central quanto o pacote Spark são pesquisados.

exclusions

Uma matriz de STRING

Lista de dependências a excluir. Por exemplo: ["slf4j:slf4j", "*:hadoop-client"].

Exclusões de dependência do 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 do trabalhador que esses clusters devem ter. Um clusters tem um driver Spark e executores num_workers para um total de num_workers + 1 nós Spark.

Ao ler as propriedades de um clusters, esse campo reflete o número desejado de worker em vez do número atual real de worker. Por exemplo, se um clusters for redimensionado de 5 para 10 worker, este campo será imediatamente atualizado para refletir o tamanho de destino de 10 worker, enquanto o worker listado em spark_info aumentará gradualmente de 5 para 10 à medida que os novos nós forem provisionados .

Se escalar automaticamente, os parâmetros necessários para escalar clusters automaticamente para cima e para baixo com base na carga.

spark_version

STRING

A versão Spark dos clusters. 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 opcional de valor- keypar de configuração do Spark especificado pelo usuário. Você também pode passar strings de opções JVM extras para o driver e os executores por meio de spark.driver.extraJavaOptions e spark.executor.extraJavaOptions, respectivamente.

Exemplo de confs do Spark: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} ou {"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}

aws_attributes

AwsAttributes

Atributos relacionados a clusters em execução no Amazon Web serviço. Se não for especificado na criação clusters , um conjunto de valores default será usado.

node_type_id

STRING

Este campo codifica, através de um único valor, o recurso disponível para cada um dos nós Spark neste clusters. Por exemplo, os nós Spark podem ser provisionados e otimizados para cargas de trabalho com uso intensivo de memória ou compute . Uma lista de tipos de nós disponíveis pode ser recuperada usando a chamada GET 2.0/clusters/list-node-types . Este campo, o campo instance_pool_id ou uma política clusters que especifica um ID de tipo de nó ou ID de pool de instâncias é obrigatório.

driver_node_type_id

STRING

O tipo de nó do driver Spark. Este campo é opcional; se não for definido, o tipo de nó do driver será definido com o mesmo valor de node_type_id definido acima.

ssh_public_keys

Uma matriz de STRING

Conteúdo key pública SSH que será adicionado a cada nó do Spark nesses clusters. A key privada correspondente pode ser usada para efetuar login com o nome de usuário ubuntu na porta 2200. Até 10 key podem ser especificadas.

custom_tags

ClusterTag

Um objeto que contém um conjunto de tags para recursos clusters . O Databricks marca todos os recursos clusters (como instâncias da AWS e volumes EBS) com essas marcas, além de default_tags.

Nota:

  • tags não são suportadas em tipos de nós legados, como otimizados para computee otimizados para memória

  • Databricks permite no máximo 45 tags personalizadas

cluster_log_conf

ClusterLogConf

A configuração para entregar logs do Spark para um destino de armazenamento de longo prazo. Apenas um destino pode ser especificado para um clusters. Se o conf for fornecido, os logs serão entregues ao destino a cada 5 mins. O destino dos logs do 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 init script. 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 init script serão enviados para <destination>/<cluster-id>/init_scripts.

spark_env_vars

SparkEnvPair

Um objeto que contém um conjunto opcional de variável de ambiente por key-valor especificado pelo usuário. par chave-valor do formulário (X,Y) são exportados como estão (ou seja, export X='Y') ao iniciar o driver e os trabalhadores.

Para especificar um conjunto adicional de SPARK_DAEMON_JAVA_OPTS, recomendamos anexá-los a $SPARK_DAEMON_JAVA_OPTS conforme mostrado no exemplo a seguir. Isso garante que todos os blocos de dados default gerenciem variáveis ambientais também sejam incluídos.

Exemplo Spark variável de ambiente: {"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

autoscale Local Storage: quando ativado, esse cluster adquire dinamicamente espaço em disco adicional quando o Spark worker estiver com pouco espaço em disco. Esse recurso requer permissões específicas do AWS para funcionar corretamente - consulte Ativar armazenamento local de autoescala para obter detalhes.

driver_instance_pool_id

STRING

O ID opcional do pool de instâncias a ser usado para o nó do driver. Você também deve especificar instance_pool_id. Consulte a API pool de instâncias para obter detalhes.

instance_pool_id

STRING

O ID opcional do pool de instâncias a ser usado para nós clusters . Se driver_instance_pool_id estiver presente, instance_pool_id será usado apenas para nós worker . Caso contrário, ele será usado tanto para o nó do driver quanto para os nós worker . Consulte a API pool de instâncias para obter detalhes.

NotebookOutput

Nome do campo

Tipo

Descrição

result

STRING

O valor passado para dbutils.Notebook.exit(). Databricks restringe esta API para retornar o primeiro 1 MB do valor. Para um resultado maior, seu Job pode armazenar os resultados em um serviço de armazenamento cloud . Este campo estará ausente se dbutils.notebook.exit() nunca foi 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 8 MB. Se a saída de uma célula tiver um tamanho maior, o restante da execução será cancelado e a execução será marcada como falha. Nesse caso, parte da saída de conteúdo de outras células também pode estar ausente.

Se precisar de ajuda para encontrar a célula que está além do limite, execute o Notebook contra o todo-propósito de um clusterse use esta técnica de salvamento automáticoNotebook .

Nome do campo

Tipo

Descrição

notebook_path

STRING

O caminho absoluto do Notebook a ser executado no workspace do Databricks. Este caminho deve começar com uma barra. Este campo é obrigatório.

revision_timestamp

LONG

O timestamp da revisão do Notebook.

base_parameters

Um mapa de ParamPair

Parâmetros base a serem usados para cada execução deste Job. Se a execução for iniciada por uma chamada para run-now com parâmetros especificados, os dois mapas de parâmetros serão merge. Se a mesma key for especificada em base_parameters e em run-now, o valor de run-now será usado.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

Se o Notebook usar um parâmetro que não esteja especificado nos parâmetros de substituição base_parameters ou run-now do Job , o valor default do Notebook será usado.

Recupere esses parâmetros em um Notebook usando dbutils.widgets.get.

ParamPair

Parâmetros baseados em nome para Job executando Tarefas Notebook .

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 não ASCII inválidos são kanjis chineses, 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 de pipeline Delta Live Tables a ser executada.

PythonPyPiLibraryName

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 de pip default será usado.

RCranLibraryName

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 default será usado.

execução

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

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico da Job que contém esta execução.

run_id

INT64

O identificador canônico da execução. Este ID é único em toda a execução de todo Job.

creator_user_name

STRING

O nome de usuário do criador. Este campo não será incluído na resposta se o usuário já tiver sido excluído.

number_in_job

INT64

O número de sequência desta execução entre todas as execuções do Job. 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 conterá o run_id da tentativa original; caso contrário, é igual ao run_id.

state

RunState

O resultado e os estados do ciclo de vida da execução.

schedule

CronSchedule

O cron programar que acionou esta execução se foi acionado pelo programador periódico.

task

Tarefa do serviço

A tarefa executada pela execução, se houver.

cluster_spec

ClusterSpec

Um Snapshot da especificação clustersdo Job quando esta execução foi criada.

cluster_instance

ClusterInstance

Os clusters usados para esta execução. Se a execução for especificada para usar novos clusters, esse campo será definido assim que o serviço Jobs solicitar clusters para a execução.

overriding_parameters

RunParameters

Os parâmetros usados para esta execução.

start_time

INT64

A hora em que esta corrida começou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa Job começa a ser executada, por exemplo, se o Job estiver agendado para execução em novos clusters, este é o horário em que a chamada de criação clusters é emitida.

setup_duration

INT64

O tempo que levou para configurar os clusters em milissegundos. Para a execução dessa execução em novos clusters, este é o tempo de criação do cluster, para a execução dessa execução 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 Notebook até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado.

cleanup_duration

INT64

O tempo em milissegundos que levou para encerrar os clusters e limpar quaisquer artefatos associados. A duração total da execução é a soma do setup_duration, do operation_duration e do cleanup_duration.

end_time

INT64

A hora em que esta execução terminou em milissegundos de época (milissegundos desde 01/01/1970 UTC). Este campo será definido como 0 se o Job ainda estiver em execução.

trigger

Tipo de gatilho

O tipo de gatilho que disparou esta execução.

run_name

STRING

Um nome opcional para a execução. O valor default é Untitled. O comprimento máximo permitido é de 4096 bytes na codificação UTF-8.

run_page_url

STRING

A URL para a página de detalhes da execução.

run_type

STRING

O tipo de execução.

  • JOB_RUN - Execução normal Job . Uma execução criada com Executar agora.

  • WORKFLOW_RUN - Execução do fluxo de trabalho. 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 desta tentativa de execução para uma execução Job acionada. A tentativa inicial de uma execução tem um try_number de 0. Se a tentativa inicial de execução falhar e a Job tiver uma política de repetição (max_retries > 0), as execuções subsequentes serão criadas com um original_attempt_run_id do ID da tentativa original e um incrementando attempt_number. execução são repetidas apenas até serem bem-sucedidas e o attempt_number máximo é o mesmo que o valor max_retries para o Job.

ExecutarJobTask

Nome do campo

Tipo

Descrição

job_id

INT32

Identificador único do Job a ser executado. Este campo é obrigatório.

RunLifeCycleState

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

  • PENDING -> RUNNING -> TERMINATING -> TERMINATED

  • PENDING -> SKIPPED

  • PENDING -> INTERNAL_ERROR

  • RUNNING -> INTERNAL_ERROR

  • TERMINATING -> INTERNAL_ERROR

Estado

Descrição

PENDING

A execução foi acionada. Se ainda não houver uma execução ativa do mesmo Job, os clusters e o contexto de execução estão sendo preparados. Se já houver uma execução ativa do mesmo Job, a execução fará a transição imediata para o estado SKIPPED sem preparar nenhum recurso.

RUNNING

A tarefa desta execução está sendo executada.

TERMINATING

A tarefa desta execução foi concluída e os clusters e o contexto de execução estão sendo limpos.

TERMINATED

A tarefa desta execução foi concluída e os clusters e o contexto de execução foram limpos. Este estado é terminal.

SKIPPED

Esta execução foi interrompida porque uma execução anterior do mesmo Job já estava ativa. Este estado é terminal.

INTERNAL_ERROR

Um estado excepcional que indica uma falha no serviço Jobs, como falha de rede por um longo período. Se uma execução em novos clusters terminar no estado INTERNAL_ERROR, o serviço Jobs encerrará os clusters o mais rápido possível. Este estado é terminal.

RunParameters

Parâmetros para esta execução. Apenas um dos jar_params, python_params ou Notebook deve ser especificado na solicitação run-now, dependendo do tipo de tarefa Job . Trabalhos com tarefa Spark JAR ou tarefa Python usam uma lista de parâmetros baseados em posição e Job com tarefas Notebook usam um mapa key valor.

Nome do campo

Tipo

Descrição

jar_params

Uma matriz de STRING

Uma lista de parâmetros para tarefas Job with Spark 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 Spark JAR. Se não for especificado em run-now, o default será uma lista vazia. jar_params não pode ser especificado em conjunto com Notebook. A representação JSON deste campo (ou seja, {"jar_params":["john doe","35"]}) não pode exceder 10.000 bytes.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

notebook_params

Um mapa de ParamPair

Um mapa da key para os valores da tarefa Job with Notebook , por exemplo "notebook_params": {"name": "john doe", "age":  "35"}. O mapa é passado para o Notebook e pode ser acessado por meio da função dbutils.widgets.get .

Se não for especificado em run-now, a execução acionada usará os parâmetros base do Job .

Notebook não pode ser especificado em conjunto com jar_params.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

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 Job 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. Se especificado em run-now, substituirá os parâmetros especificados na configuração Job . A representação JSON deste campo (ou seja, {"python_params":["john doe","35"]}) não pode exceder 10.000 bytes.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

Importante

Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis.

spark_submit_params

Uma matriz de STRING

Uma lista de parâmetros para Job com tarefa de envio de faísca, 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. Se especificado em run-now, substituirá os parâmetros especificados na configuração Job . A representação JSON deste campo (ou seja, {"python_params":["john doe","35"]}) não pode exceder 10.000 bytes.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

Importante

Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis.

RunResultState

O estado do resultado da execução.

  • If life_cycle_state = TERMINATED: se a execução tiver uma tarefa, é garantido que o resultado estará disponível e indica o resultado da tarefa.

  • Se life_cycle_state = PENDING, RUNNING ou SKIPPED, o estado do resultado não está disponível.

  • If life_cycle_state = TERMINATING ou lifecyclestate = INTERNAL_ERROR: o estado do resultado está disponível se o run tivesse uma tarefa e começasse a começar.

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

Estado

Descrição

SUCCESS

A tarefa foi concluída com sucesso.

FAILED

A tarefa foi concluída com um erro.

TIMEDOUT

A execução foi interrompida após atingir o timeout.

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 do local atual de uma execução no ciclo de vida da execução. Este campo está sempre disponível na resposta.

result_state

RunResultState

O estado resultante de uma execução. 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 programador porque a execução expirou.

state_message

STRING

Uma mensagem descritiva para o estado atual. Este campo não é estruturado e seu formato exato está sujeito a alterações.

S3StorageInfo

Informações de armazenamento S3.

Nome do campo

Tipo

Descrição

destination

STRING

destino S3. Por exemplo: s3://my-bucket/some-prefix Você deve configurar os clusters com um instance profile e o instance profile deve ter acesso de gravação ao destino. Você não pode usar key AWS.

region

STRING

região S3. Por exemplo: us-west-2. A região ou armazém deve ser definido. Se ambos estiverem definidos, o armazém é usado.

warehouse

STRING

Armazém S3. Por exemplo: https://s3-us-west-2.amazonaws.com. A região ou armazém deve ser definido. Se ambos estiverem definidos, o armazém é usado.

enable_encryption

BOOL

(Opcional) Ative a criptografia do lado do servidor, false por default.

encryption_type

STRING

(Opcional) O tipo de criptografia, pode ser sse-s3 ou sse-kms. Ele é usado apenas quando a criptografia está ativada e o tipo default é sse-s3.

kms_key

STRING

(Opcional) key KMS usada se a criptografia estiver ativada e o tipo de criptografia estiver definido como sse-kms.

canned_acl

STRING

(Opcional) Defina a lista de controle de acesso enlatada. Por exemplo: bucket-owner-full-control. Se canned_acl for definido, o instance profile clusters deverá ter permissão s3:PutObjectAcl no bucket de destino e prefixo. A lista completa de possíveis ACLs pré-configuradas pode ser encontrada em https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Por default apenas o proprietário do objeto obtém controle total. Se você estiver usando a função entre account para gravar dados, convém definir bucket-owner-full-control para permitir que o proprietário do bucket leia os logs.

SparkConfPair

Par key-valor da configuração do Spark.

Tipo

Descrição

STRING

Um nome de propriedade de configuração.

STRING

O valor da propriedade de configuração.

SparkEnvPair

Spark variável de ambiente por key-value.

Importante

Ao especificar a variável de ambiente em um Job clusters, os campos desta estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, 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 por meio 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 usar SparkContext.getOrCreate para obter um contexto Spark; caso contrário, a execução do Job falhará.

parameters

Uma matriz de STRING

Parâmetros passados para o método principal.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

SparkPythonTaskName

Nome do campo

Tipo

Descrição

python_file

STRING

O URI do arquivo Python a ser executado. Caminhos DBFS e S3 são suportados. Este campo é obrigatório.

parameters

Uma matriz de STRING

Parâmetros de linha de comando passados para o arquivo Python.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

SparkSubmitTask

Importante

  • Você pode invocar tarefas de envio do Spark apenas 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-mode e executor-cores são configurados automaticamente pelo Databricks; você não pode especificá-los em parâmetros.

  • Por default, o Job de envio do Spark usa toda a memória disponível (excluindo a memória reservada para serviços Databricks). Você pode definir --driver-memory e --executor-memory para um valor menor para deixar algum espaço para uso fora da pilha.

  • Os argumentos --jars, --py-files, --files suportam caminhos DBFS e S3.

Por exemplo, supondo que o JAR seja upload 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 de linha de comando passados para o envio do Spark.

Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job .

Tipo de gatilho

Esses são os tipos de gatilhos que podem disparar uma execução.

Tipo

Descrição

PERIODIC

programar que aciona periodicamente a execução, como um cron programador.

ONE_TIME

Gatilhos únicos que disparam uma única execução. Isso ocorre quando você aciona 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 reexecução do Job em caso de falhas.

Ver item

O conteúdo exportado está no formato HTML. Por exemplo, se a view a ser exportada for painéis, uma strings HTML será retornada para cada painel.

Nome do campo

Tipo

Descrição

content

STRING

Conteúdo da view.

name

STRING

Nome do item view . No caso de code view, o nome do Notebook . No caso da view do painel , o nome do painel.

type

ViewType

Tipo do item view .

ViewType

Tipo

Descrição

NOTEBOOK

Item view Notebook .

DASHBOARD

Item view do painel.

ViewsToExport

view para exportar: código, todos os painéis ou todos.

Tipo

Descrição

CODE

view de código do Notebook.

DASHBOARDS

Todas as view do painel do Notebook.

ALL

Todas view do Notebook.

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.

Webhook Notificações

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çar. Se não for especificado em Criação Job , Reset 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 propriedade on_start .

on_success

Uma matriz de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_state. Se não for especificado em Criação Job , Reset 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 propriedade on_success .

on_failure

Uma matriz de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED, FAILED ou TIMED_OUT result_state. Se isso não for especificado em Criação Job , Reset ou atualizar, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a propriedade on_failure .

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 o RUN_DURATION_SECONDS indicador no campo health . Um máximo de 3 destinos podem ser especificados para a propriedade on_duration_warning_threshold_exceeded .

WorkspaceStorageInfo

informação de armazenamento workspace .

Nome do campo

Tipo

Descrição

destination

STRING

Destino do arquivo. Exemplo: /Users/someone@domain.com/init_script.sh