API de empregos 2.0

Importante

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

O site Jobs API permite que o senhor crie, edite e exclua trabalhos. O tamanho máximo permitido de uma solicitação à API do Jobs é de 10 MB.

Para obter detalhes sobre as atualizações do Jobs API que suportam a solicitação de várias tarefas com o Databricks Job, consulte Atualização do Jobs API 2.0 para 2.1.

Aviso

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

Observação

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

Importante

Para acessar as APIs REST da Databricks, o senhor deve se autenticar.

Criar

Endpoint

Método HTTP

2.0/jobs/create

POST

Criar um novo trabalho.

Exemplo

Este exemplo cria um trabalho que executa a JAR tarefa à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": "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 da solicitação

Importante

  • Quando o senhor executa um Job em um novo Job cluster, o Job é tratado como uma carga de trabalho de computação de Jobs (automatizada) sujeita aos preços de computação de Jobs.

  • Quando o senhor executa um trabalho em um site existente clusters todo-propósito, ele é tratado como uma carga de trabalho de computação para todos os fins (interativa) sujeita aos preços de computação para todos os fins.

Nome do campo

Tipo

Descrição

existing_cluster_id ou new_cluster

STRING OU novo cluster

Se existing_cluster_id, o ID de um cluster existente que será usado para toda a execução desse Job. Ao executar o Job em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos que o Job seja executado no novo site clusters para maior confiabilidade.

Se for new_cluster, uma descrição de um cluster que será criado para cada execução.

Se especificar uma PipelineTask, esse campo pode ficar 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 Executar tarefa de trabalho

Se for Notebook, indica que esse trabalho deve ser executado em um Notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que esse trabalho deve ser executado em JAR.

Se for spark_python_task, indica que esse trabalho deve executar um arquivo Python.

Se for spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.

Se for pipeline, indica que esse trabalho deve ser executado em Delta Live Tables pipeline.

Se for execução, indica que esse trabalho deve executar outro trabalho.

name

STRING

Um nome opcional para o trabalho. O valor de default é Untitled.

libraries

Uma matriz da biblioteca

Uma lista opcional de bibliotecas a serem instaladas no site cluster que executará o trabalho. O valor default é uma lista vazia.

email_notifications

Notificações por e-mail de emprego

Um conjunto opcional de endereços email notificados quando a execução desse trabalho começa e é concluída e quando esse trabalho é excluído. O comportamento do default é não enviar nenhum e-mail.

webhook_notifications

Notificações do WebHook

Um conjunto opcional de destinos do sistema a serem notificados quando a execução desse trabalho começar, for concluída ou falhar.

notification_settings

Configurações de notificação de trabalho

Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications desse trabalho.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução desse trabalho. O comportamento do default é não ter tempo limite.

max_retries

INT32

Um número máximo opcional de vezes para tentar novamente uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o result_state FAILED ou INTERNAL_ERROR life_cycle_state. O valor -1 significa tentar novamente indefinidamente e o valor 0 significa nunca tentar novamente. O comportamento do 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 execução de nova tentativa subsequente. O comportamento do default é que as execuções malsucedidas são imediatamente repetidas.

retry_on_timeout

BOOL

Uma política opcional para especificar se um trabalho deve ser tentado novamente quando atingir o tempo limite. O comportamento do default é não tentar novamente após o tempo limite.

schedule

Cron Cron

Um programador periódico opcional para esse trabalho. O comportamento do default é que a execução do trabalho é acionada ao clicar em executar agora na interface do usuário do Jobs ou ao enviar uma solicitação API para runNow.

max_concurrent_runs

INT32

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

Defina esse valor se o senhor quiser poder executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se o senhor acionar o seu trabalho em uma programação frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem em seus parâmetros de entrada.

Essa configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do trabalho seja 4 e que haja 4 concorrentes ativos em execução. Então, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. No entanto, a partir de então, novas execuções são ignoradas, a menos que haja menos de 3 execuções ativas.

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

Estrutura de resposta

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do trabalho recém-criado.

Lista

Endpoint

Método HTTP

2.0/jobs/list

GET

Listar todos os cargos.

Exemplo

Solicitação

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

Um conjunto de Job

A lista do Job.

Excluir

Endpoint

Método HTTP

2.0/jobs/delete

POST

Exclua um trabalho e envie um email 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 ficam visíveis na interface do usuário de trabalhos ou em API. O trabalho tem a garantia de ser removido após a conclusão dessa solicitação. Entretanto, as execuções que estavam ativas antes do recebimento dessa 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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

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

Obter

Endpoint

Método HTTP

2.0/jobs/get

GET

Recuperar informações sobre um único trabalho.

Exemplo

Solicitação

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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do trabalho sobre o qual se deseja recuperar informações. Esse campo é obrigatório.

Estrutura de resposta

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico para esse trabalho.

creator_user_name

STRING

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

settings

Configurações do trabalho

Configurações para esse trabalho e toda a sua execução. Essas configurações podem ser atualizadas usando o Reset ou o ponto de extremidade Update.

created_time

INT64

A hora em que esse Job foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC).

Reset

Endpoint

Método HTTP

2.0/jobs/reset

POST

Substituir todas as configurações de um trabalho específico. Use o Update endpoint para atualizar parcialmente as configurações do trabalho.

Exemplo

Essa solicitação de exemplo torna o Job 2 idêntico ao 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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do trabalho a ser redefinido. Esse campo é obrigatório.

new_settings

Configurações do trabalho

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

As alterações no campo JobSettings.timeout_seconds são aplicadas à execução ativa. As alterações em outros campos são aplicadas somente à execução futura.

Atualizar

Endpoint

Método HTTP

2.0/jobs/update

POST

Adicionar, alterar ou remover configurações específicas de um trabalho existente. Use o botão Reset endpoint para sobrescrever todas as configurações do trabalho.

Exemplo

Essa solicitação de exemplo remove o biblioteca e adiciona as configurações de notificação do 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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do trabalho a ser atualizado. Esse campo é obrigatório.

new_settings

Configurações do trabalho

As novas configurações do trabalho.

Os campos de nível superior especificados em new_settings, exceto para matrizes, são completamente substituídos. Os arrays são mesclados com base nos respectivos campos key, como task_key ou job_cluster_key, e as entradas do array com o mesmo key são completamente substituídas. Exceto pela mesclagem de matrizes, a atualização parcial dos campos aninhados não é suportada.

As alterações no campo JobSettings.timeout_seconds são aplicadas à execução ativa. As alterações em outros campos são aplicadas somente à execução futura.

fields_to_remove

Uma variedade de STRING

Remova os campos de nível superior nas configurações do trabalho. 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 esse campo: ["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

Esse campo é opcional.

execução agora

Importante

  • Um workspace é limitado a 1000 execuções de tarefas simultâneas. Será retornada a resposta 429 Too Many Requests se você solicitar uma execução que não puder ser iniciada imediatamente.

  • O número de jobs que um workspace pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Esse limite também afeta os jobs criados pela API REST e pelos fluxos de trabalho do notebook.

  • O site workspace pode conter até 12.000 trabalhos salvos.

  • Um trabalho pode conter até 100 tarefas.

Endpoint

Método HTTP

2.0/jobs/run-now

POST

executa um Job agora e retorna o run_id da execução acionada.

Dica

Se o senhor invocar o Create junto com a execução agora, poderá usar a execução submit endpoint em vez disso, o que lhe 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 de um trabalho de notebook:

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

Um exemplo de solicitação para um trabalho em 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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

jar_params

Uma variedade de STRING

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

notebook_params

Um mapa do ParamPair

Um mapa da chave para os valores do Job com a tarefa 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 básicos do Job.

O senhor não pode especificar Notebook em conjunto com jar_params.

A representação JSON desse campo (ou seja, o {"notebook_params":{"name":"john doe","age":"35"}}) não pode exceder 10.000 bytes.

python_params

Uma variedade de STRING

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

spark_submit_params

Uma variedade de STRING

Uma lista de parâmetros para Job com spark submit tarefa, 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 com run-now, ele substituirá os parâmetros especificados na configuração do trabalho. A representação JSON desse 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 de trabalhos. 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, será retornado um erro.

Se o senhor 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 a idempotência do Job.

Estrutura de resposta

Nome do campo

Tipo

Descrição

run_id

INT64

A ID globalmente exclusiva da nova execução acionada.

number_in_job

INT64

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

execução submit

Importante

  • Um workspace é limitado a 1000 execuções de tarefas simultâneas. Será retornada a resposta 429 Too Many Requests se você solicitar uma execução que não puder ser iniciada imediatamente.

  • O número de jobs que um workspace pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Esse limite também afeta os jobs criados pela API REST e pelos fluxos de trabalho do notebook.

  • O site workspace pode conter até 12.000 trabalhos salvos.

  • Um trabalho pode conter até 100 tarefas.

Endpoint

Método HTTP

2.0/jobs/runs/submit

POST

Enviar uma execução única. Este endpoint permite que o senhor envie uma carga de trabalho diretamente sem criar um trabalho. Use jobs/runs/get API para verificar o estado de execução depois que o trabalho for enviado.

Exemplo

Solicitação

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 da solicitação

Importante

  • Quando o senhor executa um Job em um novo Job cluster, o Job é tratado como uma carga de trabalho de computação de Jobs (automatizada) sujeita aos preços de computação de Jobs.

  • Quando o senhor executa um trabalho em um site existente clusters todo-propósito, ele é tratado como uma carga de trabalho de computação para todos os fins (interativa) sujeita aos preços de computação para todos os fins.

Nome do campo

Tipo

Descrição

existing_cluster_id ou new_cluster

STRING OU novo cluster

Se existing_cluster_id, o ID de um cluster existente que será usado para toda a execução desse Job. Ao executar o Job em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos que o Job seja executado no novo site clusters para maior confiabilidade.

Se for new_cluster, uma descrição de um cluster que será criado para cada execução.

Se especificar uma PipelineTask, esse campo poderá 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 Executar tarefa de trabalho

Se for Notebook, indica que esse trabalho deve ser executado em um Notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que esse trabalho deve ser executado em JAR.

Se for spark_python_task, indica que esse trabalho deve executar um arquivo Python.

Se for spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.

Se for pipeline, indica que esse trabalho deve ser executado em Delta Live Tables pipeline.

Se for execução, indica que esse trabalho deve executar outro trabalho.

run_name

STRING

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

webhook_notifications

Notificações do WebHook

Um conjunto opcional de destinos do sistema a serem notificados quando a execução desse trabalho começar, for concluída ou falhar.

notification_settings

Configurações de notificação de trabalho

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

libraries

Uma matriz da biblioteca

Uma lista opcional de bibliotecas a serem instaladas no site cluster que executará o trabalho. O valor default é uma lista vazia.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução desse trabalho. O comportamento do default é não ter tempo limite.

idempotency_token

STRING

Um token opcional para garantir a idempotência das solicitações de execução de trabalhos. 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, será retornado um erro.

Se o senhor 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 a idempotência do Job.

Estrutura de resposta

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da nova execução enviada.

lista de execução

Endpoint

Método HTTP

2.0/jobs/runs/list

GET

Lista de execução em ordem decrescente por tempo de início.

Observação

execução são removidos automaticamente após 60 dias. Se o senhor quiser consultá-los por mais de 60 dias, deve salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a UI, consulte Exportar resultados da execução do trabalho. Para exportar usando o Jobs API, consulte execução export.

Exemplo

Solicitação

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 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 .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 da solicitação

Nome do campo

Tipo

Descrição

active_only ou completed_only

BOOL ou BOOL

Se active_only for true, somente as execuções ativas serão incluídas nos resultados; caso contrário, listará tanto as execuções ativas quanto as concluídas. Uma execução ativa é uma execução em PENDING, RUNNING ou TERMINATING RunLifecycleState. Esse campo não pode ser true quando completed_only é true.

Se completed_only for true, apenas as execuções concluídas serão incluídas nos resultados; caso contrário, listará tanto as execuções ativas quanto as concluídas. Esse campo não pode ser true quando active_only é true.

job_id

INT64

O trabalho para o qual a execução será listada. Se omitido, o serviço Jobs listará a execução de todos os trabalhos.

offset

INT32

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

limit

INT32

O número de execuções a retornar. Esse valor deve ser maior que 0 e menor que 1000. O valor de 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 ser retornado. Para obter uma descrição dos tipos de execução, consulte execução.

Estrutura de resposta

Nome do campo

Tipo

Descrição

runs

Uma matriz de execução

Uma lista de execuções, da mais recente para a menos recente.

has_more

BOOL

Se for verdadeiro, outras execuções que correspondam ao filtro fornecido estarão disponíveis para listagem.

execução get

Endpoint

Método HTTP

2.0/jobs/runs/get

GET

Recupera os metadados de uma execução.

Observação

execução são removidos automaticamente após 60 dias. Se o senhor quiser consultá-los por mais de 60 dias, deve salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a UI, consulte Exportar resultados da execução do trabalho. Para exportar usando o Jobs API, consulte execução export.

Exemplo

Solicitação

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 da solicitação

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da execução para a qual se deseja recuperar os metadados. Esse campo é obrigatório.

Estrutura de resposta

Nome do campo

Tipo

Descrição

job_id

INT64

O identificador canônico do trabalho que contém essa execução.

run_id

INT64

O identificador canônico da execução. Esse ID é exclusivo em todas as execuções de todos os trabalhos.

number_in_job

INT64

O número de sequência dessa execução entre todas as execuções do trabalho. Esse valor começa em 1.

original_attempt_run_id

INT64

Se essa execução for uma repetição de uma tentativa de execução anterior, esse campo conterá a execução da tentativa original; caso contrário, será o mesmo que a execução.

state

RunState

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

schedule

Cron Cron

O programador cron que acionou essa execução, caso tenha sido acionado pelo programador periódico.

task

Tarefa de trabalho

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

cluster_spec

Especificação do cluster

Um instantâneo da especificação cluster do trabalho quando essa execução foi criada.

cluster_instance

Instância de cluster

O cluster usado para essa execução. Se a execução for especificada para usar um novo cluster, esse campo será definido quando o serviço Jobs solicitar um cluster para a execução.

overriding_parameters

Parâmetros de execução

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

start_time

INT64

A hora em que essa execução foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse pode não ser o momento em que a tarefa começa a ser executada, por exemplo, se a tarefa estiver programada para ser executada em um novo cluster, esse é o momento em que a chamada de criação do cluster é emitida.

end_time

INT64

A hora em que essa execução terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse 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 a execução em um novo clusters, esse é o tempo de criação do cluster; para a execução em um clusters existente, 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 a execução de um trabalho multitarefa. A duração total da execução de um trabalho multitarefa é o valor do campo run_duration.

execution_duration

INT64

O tempo, em milissegundos, que o comando levou para ser executado no site JAR ou no Notebook até ser concluído, falhar, atingir o tempo limite, ser cancelado ou encontrar 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 a execução de um trabalho multitarefa. A duração total da execução de um trabalho multitarefa é o valor do campo run_duration.

cleanup_duration

INT64

O tempo, em milissegundos, necessário para encerrar o cluster e limpar os 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 a execução de um trabalho multitarefa. A duração total da execução de um trabalho multitarefa é o valor do campo run_duration.

run_duration

INT64

O tempo, em milissegundos, que a execução do trabalho e todos os seus reparos levaram para terminar. Esse campo só é definido para a execução de trabalhos multitarefa e não para a execução de tarefas. A duração da execução de uma tarefa é a soma de setup_duration, execution_duration e cleanup_duration.

trigger

Tipo de trigger

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

creator_user_name

STRING

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

run_page_url

STRING

O URL da página de detalhes da execução.

execução exportação

Endpoint

Método HTTP

2.0/jobs/runs/export

GET

Exportar e recuperar a tarefa de execução do trabalho.

Observação

Somente a execução do Notebook pode ser exportada em formato HTML. A exportação de 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:

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 HTML Notebook da resposta JSON, download e execute este scriptPython .

Observação

O corpo do Notebook no objeto __DATABRICKS_NOTEBOOK_MODEL é codificado.

Estrutura da solicitação

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da execução. Esse campo é obrigatório.

views_to_export

Visualizações para exportar

Qual visualização exportar (CODE, DASHBOARDS ou ALL). padrão para 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 do site view ).

execução cancelar

Endpoint

Método HTTP

2.0/jobs/runs/cancel

POST

Cancelar a execução do trabalho. Como a execução é cancelada de forma assíncrona, a execução ainda pode estar em andamento 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 funcionará.

Esse 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 da solicitação

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da execução a ser cancelada. Esse campo é obrigatório.

execução cancelar tudo

Endpoint

Método HTTP

2.0/jobs/runs/cancel-all

POST

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

Esse 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 da solicitação

Nome do campo

Tipo

Descrição

job_id

INT64

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

execução get output

Endpoint

Método HTTP

2.0/jobs/runs/get-output

GET

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

Esse 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 o senhor quiser consultá-los por mais de 60 dias, deve salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a UI, consulte Exportar resultados da execução do trabalho. Para exportar usando o Jobs API, consulte execução export.

Exemplo

Solicitação

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 da solicitação

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da execução. Para um trabalho com várias tarefas, esse é o run_id de uma execução de tarefa. Veja execução get output. Esse campo é obrigatório.

Estrutura de resposta

Nome do campo

Tipo

Descrição

notebook_output ou error

Saída de notebook OU STRING

Se for Notebook, a saída de uma tarefa do Notebook, se disponível. Uma tarefa do Notebook que termina (com sucesso ou com falha) sem chamar dbutils.notebook.exit() é considerada como tendo uma saída vazia. Esse campo será definido, mas o valor do resultado ficará vazio.

Em caso de erro, uma mensagem de erro indicando por que a saída não está disponível. A mensagem não está estruturada e seu formato exato está sujeito a alterações.

metadata

Executar

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

execução delete

Endpoint

Método HTTP

2.0/jobs/runs/delete

POST

Excluir 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 da solicitação

Nome do campo

Tipo

Descrição

run_id

INT64

O identificador canônico da execução para a qual se deseja recuperar os metadados.

Estruturas de dados

Autoescala

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

Nome do campo

Tipo

Descrição

min_workers

INT32

O número mínimo de trabalhadores para o qual o site cluster pode reduzir quando subutilizado. Esse também é o número inicial de trabalhadores que o site cluster terá após a criação.

max_workers

INT32

O número máximo de trabalhadores para o qual o cluster pode escalar quando sobrecarregado. max_workers deve ser estritamente maior que min_workers.

Atributos da AWS

Atributos definidos durante a criação do site cluster relacionados ao serviço da Web Amazon.

Nome do campo

Tipo

Descrição

first_on_demand

INT32

Os primeiros nós first_on_demand do cluster serão colocados em instâncias on-demand. Se esse valor for maior que 0, o nó do driver do cluster será colocado em uma instância sob demanda. Se esse valor for maior ou igual ao tamanho do cluster atual, todos os nós serão colocados em instâncias on-demand. Se esse valor for menor que o tamanho atual do cluster, os nós first_on_demand serão colocados em instâncias on-demand e os demais serão colocados em instâncias availability. Esse valor não afeta o tamanho do cluster e não pode ser alterado durante a vida útil de um cluster.

availability

Disponibilidade da AWS

Tipo de disponibilidade usado para todos os nós subsequentes, além dos primeiros nós sob demanda. Observação: se first_on_demand for zero, esse tipo de disponibilidade será usado para todo o cluster.

zone_id

STRING

Identificador da zona de disponibilidade (AZ) na qual o cluster reside. Em 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 do workspace e tenta novamente em outras zonas de disponibilidade se o AWS retornar erros de capacidade insuficiente.

Se quiser, você também pode especificar uma zona de disponibilidade a ser usada. Isso beneficia as contas que têm instâncias reservadas em uma AZ específica. Especifique o AZ como uma cadeia de caracteres (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, pode ser encontrada usando o comando GET /api/2.0/clusters /list-zones telefonar.

instance_profile_arn

STRING

Os nós para este cluster só serão colocados em instâncias AWS com este 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 do 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 do AWS, como uma porcentagem do preço sob demanda do tipo de instância correspondente. Por exemplo, se esse campo for definido como 50 e o cluster precisar de uma nova instância spot i3.xlarge, o preço máximo será a 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 for especificado, o valor de default é 100. Quando as instâncias spot forem solicitadas para esse cluster, somente as instâncias spot cuja porcentagem de preço máximo corresponda a esse campo serão consideradas. Por motivos de segurança, impomos que esse campo não seja superior a 10000.

ebs_volume_type

Tipo de volume EBS

O tipo de volumes EBS que serão lançados com esse cluster.

ebs_volume_count

INT32

O número de volumes lançados para cada instância. Você pode escolher até 10 volumes. Esse recurso só é ativado para os tipos de nós compatíveis. Os tipos de nós legados não podem especificar volumes personalizados do EBS. Para tipos de nós sem armazenamento de instância, pelo menos um volume EBS precisa ser especificado; caso contrário, haverá falha na criação do cluster.

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

Se os volumes do EBS estiverem anexados, o Databricks configurará o Spark para usar somente os volumes do EBS para o armazenamento de arranhões, pois os dispositivos de arranhões de tamanho heterogêneo podem levar a uma utilização ineficiente do disco. Se nenhum volume EBS estiver anexado, o Databricks configurará o Spark para usar volumes de armazenamento de instância.

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

ebs_volume_size

INT32

O tamanho de cada volume do EBS (em GiB) lançado para cada instância. Para SSD propósito geral, esse valor deve estar no intervalo de 100 a 4096. Para Taxa de transferência otimizada HDD, esse valor deve estar dentro do intervalo 500 - 4096. Os volumes personalizados do EBS não podem ser especificados para os tipos de nós herdados(otimizados para memória e otimizados para compute).

ebs_volume_iops

INT32

O número de IOPS por volume do EBS gp3.

Esse valor deve estar entre 3000 e 16000.

O valor de IOPS e Taxa de transferência é calculado com base na documentação do site 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 volume do EBS gp3, em MiB por segundo.

Esse valor deve estar entre 125 e 1000.

Se nem ebs_volume_iops nem ebs_volume_throughput forem especificados, os valores serão inferidos 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

Disponibilidade da AWS

O conjunto de tipos de disponibilidade do AWS suportados ao configurar nós para um cluster.

Tipo

Descrição

SPOT

Use instâncias spot.

ON_DEMAND

Use instâncias sob demanda.

SPOT_WITH_FALLBACK

De preferência, use instâncias spot, mas recorra a instâncias on-demand se não for possível adquirir instâncias spot (por exemplo, se os preços spot do AWS forem muito altos).

Instância de cluster

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 do cluster usado por uma execução. Esse campo está sempre disponível para execução no site clusters. Para execução em um novo clusters, ele fica disponível assim que o cluster é criado. Esse valor pode ser usado para view logs navegando para /#setting/sparkui/$cluster_id/driver-logs. O site logs continuará disponível após a conclusão da execução.

A resposta não incluirá esse campo se o identificador ainda não estiver disponível.

spark_context_id

STRING

O identificador canônico do contexto do Spark usado por uma execução. Esse campo será preenchido quando a execução começar. Esse valor pode ser usado para view o Spark UI navegando até /#setting/sparkui/$cluster_id/$spark_context_id. O site Spark UI continuará disponível após a conclusão da execução.

A resposta não incluirá esse campo se o identificador ainda não estiver disponível.

ClusterLogConf

Caminho para cluster log.

Nome do campo

Tipo

Descrição

dbfs ou s3

Informações de armazenamento do DBFS

Informações de armazenamento do S3

DBFS localização de cluster log. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

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

Especificação do cluster

Importante

  • Quando o senhor executa um Job em um novo Job cluster, o Job é tratado como uma carga de trabalho de computação de Jobs (automatizada) sujeita aos preços de computação de Jobs.

  • Quando o senhor executa um trabalho em um site existente clusters todo-propósito, ele é tratado como uma carga de trabalho de computação para todos os fins (interativa) sujeita aos preços de computação para todos os fins.

Nome do campo

Tipo

Descrição

existing_cluster_id ou new_cluster

STRING OU novo cluster

Se existing_cluster_id, o ID de um cluster existente que será usado para toda a execução desse Job. Ao executar o Job em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos que o Job seja executado no novo site clusters para maior confiabilidade.

Se for new_cluster, uma descrição de um cluster que será criado para cada execução.

Se especificar uma PipelineTask, esse campo poderá estar vazio.

libraries

Uma matriz da biblioteca

Uma lista opcional de bibliotecas a serem instaladas no site cluster que executará o trabalho. O valor default é uma lista vazia.

Tag de cluster

Definição da tag de cluster.

Tipo

Descrição

STRING

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

STRING

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

Cron Cron

Nome do campo

Tipo

Descrição

quartz_cron_expression

STRING

Uma expressão Cron usando a sintaxe do Quartz que descreve a programação de um trabalho. Consulte Cron Trigger para obter detalhes. Esse campo é obrigatório.

timezone_id

STRING

Uma ID de fuso horário Java. O programar de um trabalho será resolvido com relação a esse fuso horário. Consulte Java TimeZone para obter detalhes. Esse campo é obrigatório.

pause_status

STRING

Indique se esse programar é pausa ou não. Ou "pausa" ou "UNPAUSED".

Informações de armazenamento do DBFS

DBFS informações de armazenamento.

Nome do campo

Tipo

Descrição

destination

STRING

Destino do DBFS. Exemplo: dbfs:/my/path

Tipo de volume EBS

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

Tipo

Descrição

GENERAL_PURPOSE_SSD

provisionamento de armazenamento extra usando AWS volumes EBS.

THROUGHPUT_OPTIMIZED_HDD

provisionamento de armazenamento extra usando volumes AWS st1.

Informações de armazenamento de arquivos

Informações sobre armazenamento de arquivos.

Observação

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 arquivo. Exemplo: file:/my/file.sh

Informações do script de inicialização

Caminho para um init script.

Para obter instruções sobre como usar o script init com Databricks Container Servicesconsulte Use an init script.

Observação

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

Nome do campo

Tipo

Descrição

workspace OR dbfs (obsoleto)

ou S3

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

dbfsStorageInfo (obsoleto)

Informações de armazenamento do S3

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

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

S3 localização do site init script. O destino e a região ou o depósito 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 esse trabalho.

creator_user_name

STRING

O nome de usuário do criador. Esse 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 trabalho será executado. run_as baseia-se nas configurações atuais do trabalho e é definido como o criador do trabalho se o controle de acesso ao trabalho estiver desativado ou como a permissão is_owner se o controle de acesso ao trabalho estiver ativado.

settings

Configurações do trabalho

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

created_time

INT64

A hora em que esse Job foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC).

Notificações por e-mail de emprego

Importante

Os campos on_start, on_success e on_failure aceitam somente 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 kanjis e emojis chineses, japoneses.

Nome do campo

Tipo

Descrição

on_start

Uma variedade de STRING

Uma lista de endereços email 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 variedade de STRING

Uma lista de endereços email a serem notificados quando uma execução for concluída com êxito. Considera-se que uma execução foi concluída com êxito se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_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 variedade de STRING

Uma lista de endereços email a serem notificados quando uma execução não for concluída com êxito. Considera-se que uma execução foi concluída sem êxito se terminar com INTERNAL_ERROR life_cycle_state ou SKIPPED, FAILED ou TIMED_OUT result_state. Se isso 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_duration_warning_threshold_exceeded

Uma variedade de STRING

Uma lista de endereços email a serem notificados quando a duração de uma execução exceder o limite especificado para as RUN_DURATION_SECONDS métricas no campo health. Se nenhuma regra para as RUN_DURATION_SECONDS métricas for especificada no campo health do trabalho, as notificações não serão enviadas.

no_alert_for_skipped_runs

BOOL

Se verdadeiro, não enviar email para os destinatários especificados em on_failure se a execução for ignorada.

Nome do campo

Tipo

Descrição

on_start

Uma variedade de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for iniciada. 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. É possível especificar no máximo 3 destinos para a propriedade on_start.

on_success

Uma variedade de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Considera-se que uma execução foi concluída com êxito se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_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. É possível especificar no máximo 3 destinos para a propriedade on_success.

on_failure

Uma variedade 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 INTERNAL_ERROR life_cycle_state ou SKIPPED, FAILED ou TIMED_OUT result_state. Se isso 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. É possível especificar no máximo 3 destinos para a propriedade on_failure.

on_duration_warning_threshold_exceeded

Uma variedade 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 as RUN_DURATION_SECONDS métricas no campo health. É possível especificar no máximo 3 destinos para a propriedade on_duration_warning_threshold_exceeded.

Configurações de notificação de trabalho

Nome do campo

Tipo

Descrição

no_alert_for_skipped_runs

BOOL

Se for verdadeiro, não enviará notificações aos destinatários especificados em on_failure se a execução for ignorada.

no_alert_for_canceled_runs

BOOL

Se for verdadeiro, não enviará notificações aos destinatários especificados em on_failure se a execução for cancelada.

alert_on_last_attempt

BOOL

Se verdadeiro, não enviará notificações aos destinatários especificados em on_start para a execução repetida e não enviará notificações aos destinatários especificados em on_failure até a última repetição da execução.

Configurações do trabalho

Importante

  • Quando o senhor executa um Job em um novo Job cluster, o Job é tratado como uma carga de trabalho de computação de Jobs (automatizada) sujeita aos preços de computação de Jobs.

  • Quando o senhor executa um trabalho em um site existente clusters todo-propósito, ele é tratado como uma carga de trabalho de computação para todos os fins (interativa) sujeita aos preços de computação para todos os fins.

Configurações para um trabalho. 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 novo cluster

Se existing_cluster_id, o ID de um cluster existente que será usado para toda a execução desse Job. Ao executar o Job em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos que o Job seja executado no novo site clusters para maior confiabilidade.

Se for new_cluster, uma descrição de um cluster que será criado para cada execução.

Se especificar uma PipelineTask, esse campo poderá 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 Executar tarefa de trabalho

Se for Notebook, indica que esse trabalho deve ser executado em um Notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que esse trabalho deve ser executado em JAR.

Se for spark_python_task, indica que esse trabalho deve executar um arquivo Python.

Se for spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.

Se for pipeline, indica que esse trabalho deve ser executado em Delta Live Tables pipeline.

Se for execução, indica que esse trabalho deve executar outro trabalho.

name

STRING

Um nome opcional para o trabalho. O valor de default é Untitled.

libraries

Uma matriz da biblioteca

Uma lista opcional de bibliotecas a serem instaladas no site cluster que executará o trabalho. O valor default é uma lista vazia.

email_notifications

Notificações por e-mail de emprego

Um conjunto opcional de endereços email que serão notificados quando a execução desse trabalho começar ou for concluída, bem como quando esse trabalho for excluído. O comportamento do default é não enviar nenhum e-mail.

webhook_notifications

Notificações do WebHook

Um conjunto opcional de destinos do sistema a serem notificados quando a execução desse trabalho começar, for concluída ou falhar.

notification_settings

Configurações de notificação de trabalho

Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications desse trabalho.

timeout_seconds

INT32

Um tempo limite opcional aplicado a cada execução desse trabalho. O comportamento do default é não ter tempo limite.

max_retries

INT32

Um número máximo opcional de vezes para tentar novamente uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o result_state FAILED ou INTERNAL_ERROR life_cycle_state. O valor -1 significa tentar novamente indefinidamente e o valor 0 significa nunca tentar novamente. O comportamento do default é nunca tentar novamente.

min_retry_interval_millis

INT32

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

retry_on_timeout

BOOL

Uma política opcional para especificar se um trabalho deve ser tentado novamente quando atingir o tempo limite. O comportamento do default é não tentar novamente após o tempo limite.

schedule

Cron Cron

Um programador periódico opcional para esse trabalho. O comportamento do default é que o trabalho só será executado quando acionado ao clicar em "Executar agora" na interface do usuário do trabalho ou ao enviar uma solicitação API para runNow.

max_concurrent_runs

INT32

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

Defina esse valor se o senhor quiser poder executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se o senhor acionar o seu trabalho em uma programação frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem em seus parâmetros de entrada.

Essa configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do trabalho seja 4 e que haja 4 concorrentes ativos em execução. Então, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. No entanto, a partir de então, novas execuções serão ignoradas, a menos que haja menos de 3 execuções ativas.

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

health

Regras de saúde do 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 Executar tarefa de trabalho

Se for Notebook, indica que esse trabalho deve ser executado em um Notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task.

Se spark_jar_task, indica que esse trabalho deve ser executado em JAR.

Se for spark_python_task, indica que esse trabalho deve executar um arquivo Python.

Se for spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark.

Se for pipeline, indica que esse trabalho deve ser executado em Delta Live Tables pipeline.

Se for execução, indica que esse trabalho deve executar outro trabalho.

Regra de saúde do trabalho

Nome do campo

Tipo

Descrição

metric

STRING

Especifica as métricas de saúde que estão sendo avaliadas 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 de métricas de saúde com o limite especificado. Os valores válidos são GREATER_THAN.

value

INT32

Especifica o valor limite que as métricas de saúde devem atender para cumprir a regra de saúde.

Regras de saúde do trabalho

Nome do campo

Tipo

Descrição

rules

Uma variedade de JobsHealthRule

Um conjunto opcional de regras de integridade que podem ser definidas 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 jar, o URI do JAR a ser instalado. Há suporte para URIs DBFS e S3. Por exemplo: { "jar": "dbfs:/mnt/databricks/library.jar" } ou { "jar": "s3://my-bucket/library.jar" }. Se o S3 for usado, verifique se o cluster tem acesso de leitura na biblioteca. Talvez o senhor precise iniciar o cluster com um instance profile para acessar o URI S3.

Se ovo, URI do ovo a ser instalado. Há suporte para URIs DBFS e S3. Por exemplo: { "egg": "dbfs:/my/egg" } ou { "egg": "s3://my-bucket/egg" }. Se o S3 for usado, verifique se o cluster tem acesso de leitura na biblioteca. Talvez o senhor precise iniciar o cluster com um instance profile para acessar o URI S3.

Se for o caso, URI do wheel ou wheels compactado a ser instalado. Há suporte para URIs DBFS e S3. Por exemplo: { "whl": "dbfs:/my/whl" } ou { "whl": "s3://my-bucket/whl" }. Se o S3 for usado, verifique se o cluster tem acesso de leitura na biblioteca. Talvez o senhor precise iniciar o cluster com um instance profile para acessar o URI S3. Além disso, o nome do arquivo wheel precisa usar a convenção correta. Se o wheels compactado precisar ser instalado, o sufixo do nome do arquivo deverá ser .wheelhouse.zip.

Se for pypi, especificação de uma biblioteca PyPI a ser instalada. A especificação do campo repo é opcional e, se não for especificado, será usado o índice do pip default. Por exemplo: { "package": "simplejson", "repo": "https://my-repo.com" }

Se for Maven, especificação de uma Maven biblioteca a ser instalada. Por exemplo: { "coordinates": "org.jsoup:jsoup:1.7.2" }

Se cran, especificação de uma biblioteca CRAN a ser instalada.

Biblioteca Maven

Nome do campo

Tipo

Descrição

coordinates

STRING

Coordenadas Maven no estilo Gradle. Por exemplo: org.jsoup:jsoup:1.7.2. Esse campo é obrigatório.

repo

STRING

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

exclusions

Uma variedade de STRING

Lista de dependências a serem excluídas. 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.

Novo cluster

Nome do campo

Tipo

Descrição

num_workers ou autoscale

INT32 OU escala automática

Se for worker, o número de nós worker que esse cluster deve ter. Um cluster tem um driver Spark e um executor de trabalho para um total de nós de trabalho + 1 Spark.

Ao ler as propriedades de um cluster, esse 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 workers, esse campo será imediatamente atualizado para refletir o tamanho desejado de 10 workers, enquanto o worker listado em spark_info aumentará gradualmente de 5 para 10 à medida que os novos nós forem provisionados.

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

spark_version

STRING

A versão Spark do cluster. Uma lista das versões disponíveis do Spark pode ser recuperada usando a chamada GET 2.0/clusters/spark-versions. Esse campo é obrigatório.

spark_conf

Par SparkConf

Um objeto que contém um conjunto de configurações opcionais especificadas pelo usuário Spark par key-value. O senhor também pode passar uma cadeia de caracteres de opções extras JVM para o driver e o executor 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

Atributos da AWS

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

node_type_id

STRING

Esse campo codifica, por meio de um único valor, o recurso disponível para cada um dos nós do Spark neste cluster. Por exemplo, os nós Spark podem ser provisionados e otimizados para cargas de trabalho intensivas 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. Esse campo, o campo instance_pool_id ou uma política de cluster que especifique um ID de tipo de nó ou um ID de pool de instâncias é obrigatório.

driver_node_type_id

STRING

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

ssh_public_keys

Uma variedade de STRING

Conteúdo público do SSH key que será adicionado a cada nó Spark neste cluster. A chave privada correspondente pode ser usada para fazer login com o nome de usuário ubuntu na porta 2200. Podem ser especificadas até 10 teclas.

custom_tags

Tag de cluster

Um objeto que contém um conjunto de tags para cluster recurso. Databricks tags todos os recursos do cluster (como instâncias do AWS e volumes do EBS) com esses tags, além do padrão.

Nota:

  • As tags não são compatíveis com tipos de nós legados, como compute-optimized e memory-optimized

  • A Databricks permite no máximo 45 tags personalizadas

cluster_log_conf

ClusterLogConf

A configuração para fornecer logs do Spark a um destino de armazenamento de longo prazo. Somente um destino pode ser especificado para um cluster. 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 o script 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, init script logs será enviado para <destination>/<cluster-id>/init_scripts.

spark_env_vars

Par Sparken V

Um objeto que contém um conjunto de variáveis de ambiente opcionais, especificadas pelo usuário, para key-value. O valor-chave par do formulário (X,Y) é exportado como está (ou seja, export X='Y') ao iniciar o driver e o worker.

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 todas as variáveis ambientais gerenciadas pelos bancos de dados default também sejam incluídas.

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 (Armazenamento local em escala automática): quando ativado, este cluster adquire dinamicamente espaço em disco adicional quando seu Spark worker estiver com pouco espaço em disco. Esse recurso requer permissões específicas em AWS para funcionar corretamente - consulte Ativar armazenamento local de autoescala para obter detalhes.

driver_instance_pool_id

STRING

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

instance_pool_id

STRING

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

Saída de notebook

Nome do campo

Tipo

Descrição

result

STRING

O valor passado para dbutils.Notebook.exit(). A Databricks restringe essa 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. Esse campo estará ausente se dbutils.notebook.exit() nunca for chamado.

truncated

BOOLEAN

Se o resultado foi truncado ou não.

Tarefa do notebook

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 o senhor precisar de ajuda para encontrar a célula que está além do limite, execute o Notebook em um clusters todo-propósito e use essa 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 site Databricks workspace. Esse caminho deve começar com uma barra. Esse campo é obrigatório.

revision_timestamp

LONG

O registro de data e hora da revisão do Notebook.

base_parameters

Um mapa do ParamPair

Parâmetros básicos a serem usados para cada execução desse 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 o mesmo key for especificado 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 que contêm informações sobre a execução do trabalho.

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, será usado o valor default do Notebook.

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

Par de parâmetros

Parâmetros baseados em nomes para tarefas de execução do Notebook.

Importante

Os campos nessa estrutura de dados aceitam somente 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 kanjis e emojis chineses, japoneses.

Tipo

Descrição

STRING

Nome do parâmetro. Passe para dbutils.widgets.get para recuperar o valor.

STRING

Valor do parâmetro.

Tarefa de pipeline

Nome do campo

Tipo

Descrição

pipeline_id

STRING

O nome completo da tarefa do pipeline Delta Live Tables a ser executada.

Biblioteca Python Pi

Nome do campo

Tipo

Descrição

package

STRING

O nome do pacote PyPI a ser instalado. Uma especificação opcional da versão exata também é suportada. Exemplos: simplejson e simplejson==3.8.0. Esse 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.

Biblioteca RCRan

Nome do campo

Tipo

Descrição

package

STRING

O nome do pacote CRAN a ser instalado. Esse campo é obrigatório.

repo

STRING

O repositório onde o pacote pode ser encontrado. Se não for especificado, é usado o repositório CRAN predefinido.

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 do trabalho que contém essa execução.

run_id

INT64

O identificador canônico da execução. Esse ID é exclusivo em todas as execuções de todos os trabalhos.

creator_user_name

STRING

O nome de usuário do criador. Esse 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 dessa execução entre todas as execuções do trabalho. Esse valor começa em 1.

original_attempt_run_id

INT64

Se essa execução for uma repetição de uma tentativa de execução anterior, esse campo conterá a execução da tentativa original; caso contrário, será o mesmo que a execução.

state

RunState

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

schedule

Cron Cron

O programador cron que acionou essa execução, caso tenha sido acionado pelo programador periódico.

task

Tarefa de trabalho

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

cluster_spec

Especificação do cluster

Um instantâneo da especificação cluster do trabalho quando essa execução foi criada.

cluster_instance

Instância de cluster

O cluster usado para essa execução. Se a execução for especificada para usar um novo cluster, esse campo será definido quando o serviço Jobs solicitar um cluster para a execução.

overriding_parameters

Parâmetros de execução

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

start_time

INT64

A hora em que essa execução foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse pode não ser o momento em que a tarefa começa a ser executada, por exemplo, se a tarefa estiver programada para ser executada em um novo cluster, esse é o momento em que a chamada de criação do cluster é emitida.

setup_duration

INT64

O tempo necessário para configurar o cluster em milissegundos. Para a execução em um novo clusters, esse é o tempo de criação do cluster; para a execução em um clusters existente, esse tempo deve ser muito curto.

execution_duration

INT64

O tempo, em milissegundos, que o comando levou para ser executado no site JAR ou no Notebook até ser concluído, falhar, atingir o tempo limite, ser cancelado ou encontrar um erro inesperado.

cleanup_duration

INT64

O tempo, em milissegundos, necessário para encerrar o cluster e limpar os artefatos associados. A duração total da execução é a soma da setup_duration, da execution_duration e da cleanup_duration.

end_time

INT64

A hora em que essa execução terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse campo será definido como 0 se o trabalho ainda estiver em execução.

trigger

Tipo de trigger

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

run_name

STRING

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

run_page_url

STRING

O URL da página de detalhes da execução.

run_type

STRING

O tipo de execução.

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 execução tem um attempt_number igual a 0. Se a tentativa inicial de execução falhar e o Job tiver uma política de novas tentativas (max_retries > 0), as execuções subsequentes serão criadas com um original_attempt_run_id do ID da tentativa original e um attempt_number crescente. execução são repetidas somente até serem bem-sucedidas, e o valor máximo attempt_number é igual ao valor max_retries do Job.

Executar tarefa de trabalho

Nome do campo

Tipo

Descrição

job_id

INT32

Identificador exclusivo do trabalho a ser executado. Esse campo é obrigatório.

Execute o estado do ciclo de vida

O estado do ciclo de vida de uma execução. 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

Status

Descrição

QUEUED

A execução foi acionada, mas está na fila porque atingiu um dos seguintes limites:

  • A execução ativa máxima do concorrente no site workspace.

  • A tarefa máxima concorrente Run Job executada no site workspace.

  • A execução máxima concorrente do trabalho.

O trabalho ou a execução deve ter o enfileiramento ativado para que possa atingir esse estado.

PENDING

A execução foi acionada. Se a execução concorrente máxima configurada do Job já tiver sido atingida, a execução passará imediatamente para o estado SKIPPED sem preparar nenhum recurso. Caso contrário, a preparação do cluster e a execução estão em andamento.

RUNNING

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

TERMINATING

A tarefa dessa execução foi concluída, e o cluster e o contexto de execução estão sendo limpos.

TERMINATED

A tarefa dessa execução foi concluída, e o cluster e o contexto de execução foram limpos. Esse estado é terminal.

SKIPPED

Essa execução foi abortada porque uma execução anterior do mesmo trabalho já estava ativa. Esse estado é terminal.

INTERNAL_ERROR

Um estado excepcional 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 Jobs encerrará o cluster assim que possível. Esse estado é terminal.

Parâmetros de execução

Parâmetros para essa execução. Apenas um dos jar_params, python_params ou Notebook deve ser especificado na solicitação run-now, dependendo do tipo de tarefa do trabalho. Os trabalhos com Spark JAR tarefa ou Python tarefa recebem uma lista de parâmetros baseados em posição, e os trabalhos com Notebook tarefa recebem um mapa de valores key.

Nome do campo

Tipo

Descrição

jar_params

Uma variedade de STRING

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

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

notebook_params

Um mapa do ParamPair

Um mapa da chave para os valores do Job com a tarefa 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 básicos do Job.

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

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

A representação JSON desse campo (ou seja, o {"notebook_params":{"name":"john doe","age":"35"}}) não pode exceder 10.000 bytes.

python_params

Uma variedade de STRING

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

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

Importante

Esses parâmetros aceitam somente 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 kanjis e emojis chineses, japoneses.

spark_submit_params

Uma variedade de STRING

Uma lista de parâmetros para Job com spark submit tarefa, 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 com run-now, ele substituirá os parâmetros especificados na configuração do trabalho. A representação JSON desse campo (ou seja, o {"python_params":["john doe","35"]}) não pode exceder 10.000 bytes.

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

Importante

Esses parâmetros aceitam somente 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 kanjis e emojis chineses, japoneses.

RunResultState

O estado do resultado da execução.

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

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

  • Se life_cycle_state = TERMINATING ou lifecyclestate = INTERNAL_ERROR: o estado do resultado estará disponível se a execução tiver uma tarefa e gerenciar para começar.

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

Status

Descrição

SUCCESS

A tarefa foi concluída com êxito.

FAILED

A tarefa foi concluída com um erro.

TIMEDOUT

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

CANCELED

A execução foi cancelada por solicitação do usuário.

RunState

Nome do campo

Tipo

Descrição

life_cycle_state

Execute o estado do ciclo de vida

Uma descrição da localização atual de uma execução no ciclo de vida da execução. Esse campo está sempre disponível na resposta.

result_state

RunResultState

O estado do resultado de uma execução. Se não estiver disponível, a resposta não incluirá esse 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 atingiu o tempo limite.

state_message

STRING

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

Informações de armazenamento do S3

S3 informações de armazenamento.

Nome do campo

Tipo

Descrição

destination

STRING

Destino S3. Por exemplo: s3://my-bucket/some-prefix O senhor deve configurar o cluster com um instance profile e o instance profile deve ter acesso de gravação ao destino. O senhor não pode usar a tecla AWS.

region

STRING

Região S3. Por exemplo: us-west-2. A região ou o depósito devem ser definidos. Se ambos estiverem configurados, o armazém será usado.

warehouse

STRING

Armazém S3. Por exemplo: https://s3-us-west-2.amazonaws.com. A região ou o depósito devem ser definidos. Se ambos estiverem configurados, o armazém será usado.

enable_encryption

BOOL

(Opcional)Habilite 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 somente quando a criptografia está ativada e o tipo default é sse-s3.

kms_key

STRING

(Opcional) KMS key usado 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 em lata. Por exemplo: bucket-owner-full-control. Se canned_acl for definido, o cluster instance profile deverá ter permissão s3:PutObjectAcl no bucket e no prefixo de destino. A lista completa de possíveis ACLs predefinidas pode ser encontrada em https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Em default, somente o proprietário do objeto obtém controle total. Se o senhor estiver usando a função cross account para gravar dados, talvez queira definir bucket-owner-full-control para que o proprietário do bucket possa ler o logs.

Par SparkConf

Spark configuration par key-value.

Tipo

Descrição

STRING

Um nome de propriedade de configuração.

STRING

O valor da propriedade de configuração.

Par Sparken V

Spark variável de ambiente par key-value.

Importante

Ao especificar a variável de ambiente em um Job cluster, os campos dessa 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 kanjis e emojis chineses, japoneses.

Tipo

Descrição

STRING

Um nome de variável de ambiente.

STRING

O valor da variável de ambiente.

Tarefa SparkJar

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 ver um exemplo, consulte Criar.

main_class_name

STRING

O nome completo da classe contém o método principal a ser executado. Esta 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 variedade de STRING

Parâmetros passados para o método principal.

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

Tarefa SparkPython

Nome do campo

Tipo

Descrição

python_file

STRING

O URI do arquivo Python a ser executado. Há suporte para caminhos DBFS e S3. Esse campo é obrigatório.

parameters

Uma variedade de STRING

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

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

Tarefa de envio do Spark

Importante

  • O senhor pode invocar Spark submit tarefa somente no novo 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 Java e Python biblioteca e --conf para definir a configuração de Spark.

  • master, deploy-mode e executor-cores são configurados automaticamente pelo Databricks; o senhor não pode especificá-los nos parâmetros.

  • Em default, o Spark submit Job usa toda a memória disponível (excluindo a memória reservada para o Databricks serviço). Você pode definir --driver-memory e --executor-memory com um valor menor para deixar 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 carregado para DBFS, o senhor 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 variedade de STRING

Parâmetros de linha de comando passados para o spark submit.

Use O que é uma referência de valor dinâmico? para definir parâmetros que contêm informações sobre a execução do trabalho.

Tipo de gatilho

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

Tipo

Descrição

PERIODIC

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

ONE_TIME

Gatilhos únicos que disparam uma única execução. Isso ocorre quando o senhor 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 que falhou anteriormente. Isso ocorre quando o senhor solicita a reexecução do trabalho em caso de falhas.

Exibir item

O conteúdo exportado está no formato HTML. Por exemplo, se o site view a ser exportado for dashboards, uma cadeia de caracteres HTML será retornada para cada dashboard.

Nome do campo

Tipo

Descrição

content

STRING

Conteúdo do site view.

name

STRING

Nome do item view. No caso do código view, o nome do Notebook. No caso do painel view, o nome do painel.

type

Tipo de visualização

Tipo do item view.

Tipo de visualização

Tipo

Descrição

NOTEBOOK

Notebook view item.

DASHBOARD

Dashboard view item.

Visualizações para exportar

visualização a ser exportada: código, todos os painéis ou todos.

Tipo

Descrição

CODE

Código view do Notebook.

DASHBOARDS

Visualização de todo o painel do Notebook.

ALL

Todas as visualizações do Notebook.

Webhook

Nome do campo

Tipo

Descrição

id

STRING

Identificador que faz referência a um destino de notificação do sistema. Esse campo é obrigatório.

Notificações do WebHook

Nome do campo

Tipo

Descrição

on_start

Uma variedade de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for iniciada. 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. É possível especificar no máximo 3 destinos para a propriedade on_start.

on_success

Uma variedade de Webhook

Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Considera-se que uma execução foi concluída com êxito se terminar com um TERMINATED life_cycle_state e um SUCCESSFUL result_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. É possível especificar no máximo 3 destinos para a propriedade on_success.

on_failure

Uma variedade 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 sucesso se terminar com INTERNAL_ERROR life_cycle_state ou SKIPPED, FAILED ou TIMED_OUT. result_state. Se isso 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. É possível especificar no máximo 3 destinos para a propriedade on_failure.

on_duration_warning_threshold_exceeded

Uma variedade 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 as RUN_DURATION_SECONDS métricas no campo health. É possível especificar no máximo 3 destinos para a propriedade on_duration_warning_threshold_exceeded.

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

informações sobre o armazenamento do espaço de trabalho.

Nome do campo

Tipo

Descrição

destination

STRING

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