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.5.x-scala2.12",
    "node_type_id": "n1-highmem-4",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Substituir:

  • <databricks-instance> com o nome da instância do espaço de trabalho do Databricks, por exemplo, 1234567890123456.7.gcp.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, 1234567890123456.7.gcp.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.5.x-scala2.12",
          "node_type_id": "n1-highmem-4",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Estrutura de resposta

Nome do campo

Tipo

Descrição

jobs

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.5.x-scala2.12",
      "node_type_id": "n1-highmem-4",
      "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": []
    },
    "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.5.x-scala2.12",
      "node_type_id": "n1-highmem-4",
      "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": []
    },
    "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, 1234567890123456.7.gcp.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, 1234567890123456.7.gcp.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, 1234567890123456.7.gcp.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.

Por exemplo, "idempotency_token": "123".

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.5.x-scala2.12",
    "node_type_id": "n1-highmem-4",
    "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, 1234567890123456.7.gcp.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.

Por exemplo, "idempotency_token": "123".

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, 1234567890123456.7.gcp.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.

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 localização de cluster log. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

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.

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

Informações de armazenamento GCS

Google Cloud Storage (GCS) informações de armazenamento.

Nome do campo

Tipo

Descrição

destination

STRING

Destino do arquivo. Exemplo: gs://...

Atributos do Google Cloud

Atributos definidos durante a criação do site cluster relacionados à nuvem do Google.

Nome do campo

Tipo

Descrição

use_preemptible_executors

BOOL

Usar executor preemptivo.

google_service_account

STRING

Google serviço account email endereço que o cluster usa para se autenticar no Google Identity. Esse campo é usado para autenticação com o GCS e BigQuery fonte de dados.

boot_disk_size

INT32

Tamanho, em GB, do disco alocado para cada instância. Esse valor deve estar entre 100 e 4096.

Importante

Para uso com GCS e BigQuery, o serviço do Google account que o senhor usa para acessar a fonte de dados deve estar no mesmo projeto que o SA que o senhor especificou ao configurar o Databricks account.

Informações do script de inicialização

Caminho para um init script.

Nome do campo

Tipo

Descrição

workspace OR dbfs (obsoleto)

ou gcs

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

dbfsStorageInfo (obsoleto)

Informações de armazenamento GCS

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" } }

Google Cloud Storage (GCS) localização de init script. O destino deve ser fornecido. Por exemplo, { "gs": { "destination" : "gs://..." } }

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 GCS (gs). Por exemplo: { "jar": "dbfs:/mnt/databricks/library.jar"} ou { "jar": "gs://my-bucket/library.jar" }. Se o GCS for usado, certifique-se de que o cluster tenha acesso de leitura na biblioteca.

Se ovo, URI do ovo a ser instalado. Há suporte para URIs DBFS e GCS. Por exemplo: { "egg": "dbfs:/my/egg" } ou { "egg": "gs://my-bucket/egg" }.

Se for o caso, URI do wheel ou wheels compactado a ser instalado. Há suporte para URIs DBFS e GCS. Por exemplo: { "whl": "dbfs:/my/whl" } ou { "whl": "gs://my-bucket/whl" }. Se o GCS for usado, certifique-se de que o cluster tenha acesso de leitura na biblioteca. 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"}

gcp_attributes

Atributos da nuvem do Google

Atributos relacionados a clusters em execução na nuvem do Google. 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 com uso intensivo de memória ou compute Uma lista de tipos de nós disponíveis pode ser recuperada usando a chamada GET 2.0/clusters /list-node-types. 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

Defina como matriz vazia. Não há suporte para SSH de cluster.

custom_tags

Tag de cluster

Sempre definido como matriz vazia.

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

Sempre definido como falso.

instance_pool_id

STRING

O ID opcional do pool de instâncias a ser usado para os nós do cluster. 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.

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.

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

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