API de empregos 2.0
Importante
Este artigo documenta a versão 2.0 da API Jobs. No entanto, a Databricks recomenda a utilização da API Jobs 2.1 para clientes e scripts novos e existentes. Para obter detalhes sobre as alterações das versões 2.0 para 2.1, consulte Atualizando da API Jobs 2.0 para 2.1.
A API de Jobs permite que você crie, edite e exclua Job. O tamanho máximo permitido de uma solicitação para a API de empregos é de 10 MB.
Para obter detalhes sobre atualizações na API Jobs que suportam a orquestração de múltiplas tarefas com Databricks Job, consulte Atualizando da API Jobs 2.0 para 2.1.
Aviso
Você nunca deve codificar segredos ou armazená-los em texto simples. Use a API Secrets para gerenciar segredos na CLI do Databricks. Use os segredos russos (dbutils.secrets) para fazer referência a segredos em Notebook e Job.
Observação
Se você receber um erro de nível 500 ao fazer solicitações de API de trabalhos, o Databricks recomenda repetir as solicitações por até 10 minutos (com um intervalo mínimo de 30 segundos entre as tentativas).
Importante
Para acessar APIs REST do Databricks, você deve autenticar o.
Criar
endpoint |
Método HTTP |
---|---|
|
|
Crie um novo Job.
Exemplo
Este exemplo cria um Job que executa uma tarefa JAR às 22h15 todas as noites.
Solicitar
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.O conteúdo de
create-job.json
com campos apropriados para suas soluções.
Estrutura do pedido
Importante
Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.
Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade. Se new_clusters, uma descrição de clusters que serão criados para cada execução. Se especificar um PipelineTask, este campo pode estar vazio. |
|
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask |
Se Notebook, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task. Se spark_jar_task, indica que este Job deve executar um JAR. Se spark_python_task, indica que este Job deve executar um arquivo Python. Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark. Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables. Se execução, indica que este Job deve executar outro Job. |
|
|
Um nome opcional para o Job. O valor default é |
|
Uma matriz de biblioteca |
Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia. |
|
Um conjunto opcional de endereços email notificados quando a execução deste Job começa e termina e quando este Job é excluído. O comportamento default é não enviar nenhum email. |
|
|
Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha. |
|
|
Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos |
|
|
|
Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é não ter tempo limite. |
|
|
Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com |
|
|
Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a próxima tentativa subsequente. O comportamento default é que as execuções malsucedidas são imediatamente repetidas. |
|
|
Uma política opcional para especificar se uma Job deve ser repetida quando ela atingir o tempo limite. O comportamento default é não tentar novamente no tempo limite. |
|
Um programador periódico opcional para este Job. O comportamento default é a execução da Job quando acionada clicando em execução agora na interface do usuário de tarefas ou enviando uma solicitação de API para |
|
|
|
Um número máximo permitido opcional de execução concorrente do Job. Defina esse valor se desejar executar várias execuções do mesmo Job simultaneamente. Isso é útil, por exemplo, se você acionar seu Job em um programar frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se você quiser acionar múltiplas execuções que diferem por seus parâmetros de entrada. Esta configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do Jobseja 4 e existam 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. Porém, a partir de então, novas execuções são omitidas, a menos que existam menos de 3 execuções ativas. Este valor não pode exceder 1000. Definir esse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento default é permitir apenas 1 execução concorrente. |
Lista
endpoint |
Método HTTP |
---|---|
|
|
Listar todos Job.
Exemplo
Solicitar
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Substitua <databricks-instance>
pelo nome da instância do espaço de trabalho do Databricks, por exemplo, dbc-a1b2345c-d6e7.cloud.databricks.com
.
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 |
---|---|---|
|
Uma matriz de Job |
A lista de Job. |
Excluir
endpoint |
Método HTTP |
---|---|
|
|
Exclua um Job e envie um email para os endereços especificados em JobSettings.email_notifications
. Nenhuma ação ocorrerá se o Job já tiver sido removido. Depois que o Job é removido, nem seus detalhes nem sua história de execução ficam visíveis na interface do usuário ou na API dos trabalhos. É garantido que o Job será removido após a conclusão desta solicitação. No entanto, as execuções que estavam ativas antes do recebimento desta solicitação ainda podem estar ativas. Eles serão encerrados de forma assíncrona.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<job-id>
com o ID do Job, por exemplo123
.
Este exemplo usa um .netrc arquivo.
Pegar
endpoint |
Método HTTP |
---|---|
|
|
Recuperar informações sobre um único Job.
Exemplo
Solicitar
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<job-id>
com o ID do Job, por exemplo123
.
Resposta
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico do Job sobre o qual recuperar informações. Este campo é obrigatório. |
Estrutura de resposta
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico para este Job. |
|
|
O nome de usuário do criador. Este campo não será incluído na resposta se o usuário tiver sido excluído. |
|
Configurações para este Job e toda a sua execução. Essas configurações podem ser atualizadas usando os endpoints Reset ou Atualizar . |
|
|
|
A hora em que esta Job foi criada em milissegundos de época (milissegundos desde 01/01/1970 UTC). |
Reset
endpoint |
Método HTTP |
---|---|
|
|
Substitua todas as configurações de um Job específico. Use o endpoint Update para atualizar parcialmente as configurações Job .
Exemplo
Essa solicitação de exemplo torna Job 2 idêntica à Job 1 no exemplo de criação .
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.O conteúdo de
reset-job.json
com campos apropriados para suas soluções.
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico do Job a ser Reset. Este campo é obrigatório. |
|
As novas configurações do Job. Essas configurações substituem completamente as configurações antigas. Alterações no campo |
Atualizar
endpoint |
Método HTTP |
---|---|
|
|
Adicione, altere ou remova configurações específicas de um Job existente. Use oendpoint Reset para substituir todas as configurações Job .
Exemplo
Esta solicitação de exemplo remove bibliotecas e adiciona configurações de notificação email ao Job 1 definido no exemplo de criação .
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.O conteúdo de
update-job.json
com campos apropriados para suas soluções.
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico do Job a ser atualizado. Este campo é obrigatório. |
|
As novas configurações para o Job. Os campos de nível superior especificados em Alterações no campo |
|
|
Uma matriz de |
Remova os campos de nível superior nas configurações Job . A remoção de campos aninhados não é suportada, exceto para entradas das matrizes Este campo é opcional. |
execução agora
Importante
Um workspace é limitado a 1000 execuções de tarefas simultâneas. Uma resposta
429 Too Many Requests
é retornada quando você solicita uma execução que não pode começar imediatamente.O número de Job que um workspace pode criar em uma hora é limitado a 10.000 (inclui “envio de execução”). Esse limite também afeta Job criado pela API REST e o fluxo de trabalho Notebook .
endpoint |
Método HTTP |
---|---|
|
|
Execute um Job agora e retorne o run_id
da execução acionada.
Dica
Se você invocar Create junto com execução now, poderá usar o endpoint de envio de execução , que permite enviar sua carga de trabalho diretamente sem precisar criar um Job.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
Um exemplo de solicitação para um Job Notebook:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Um exemplo de solicitação para um Job JAR:
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.O conteúdo de
run-job.json
com campos apropriados para suas soluções.
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
|
|
Uma matriz de |
Uma lista de parâmetros para Job com tarefas JAR, por exemplo |
|
Um mapa de ParamPair |
Um mapa da key para os valores da tarefa Job with Notebook , por exemplo Se não for especificado em Você não pode especificar Notebook em conjunto com jar_params. A representação JSON deste campo (ou seja, |
|
Uma matriz de |
Uma lista de parâmetros para Job com tarefas Python, por exemplo |
|
Uma matriz de |
Uma lista de parâmetros para Job com tarefa de envio de faísca, por exemplo |
|
|
Um tokens opcional para garantir a idempotência das solicitações de execução Job . Se já existir uma execução com os tokens fornecidos, a solicitação não criará uma nova execução, mas retornará o ID da execução existente. Se uma execução com os tokens fornecidos for excluída, um erro será retornado. Se você especificar os tokens de idempotência , em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. Databricks garante que exatamente uma execução seja iniciada com esses tokens de idempotência. Esses tokens devem ter no máximo 64 caracteres. Para obter mais informações, consulte Como garantir idempotência para Job. |
execução submeter
Importante
Um workspace é limitado a 1000 execuções de tarefas simultâneas. Uma resposta
429 Too Many Requests
é retornada quando você solicita uma execução que não pode começar imediatamente.O número de Job que um workspace pode criar em uma hora é limitado a 10.000 (inclui “envio de execução”). Esse limite também afeta Job criado pela API REST e o fluxo de trabalho Notebook .
endpoint |
Método HTTP |
---|---|
|
|
Envie uma execução única. Esse endpoint permite que você envie uma carga de trabalho diretamente sem criar um Job. Use a API jobs/runs/get
para verificar o estado de execução após o envio da Job .
Exemplo
Solicitar
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.O conteúdo de
submit-job.json
com campos apropriados para suas soluções.
Estrutura do pedido
Importante
Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.
Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade. Se new_clusters, uma descrição de clusters que serão criados para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
|
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask |
Se Notebook, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task. Se spark_jar_task, indica que este Job deve executar um JAR. Se spark_python_task, indica que este Job deve executar um arquivo Python. Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark. Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables. Se execução, indica que este Job deve executar outro Job. |
|
|
Um nome opcional para a execução. O valor default é |
|
Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha. |
|
|
Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos |
|
|
Uma matriz de biblioteca |
Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia. |
|
|
Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é não ter tempo limite. |
|
|
Um tokens opcional para garantir a idempotência das solicitações de execução Job . Se já existir uma execução com os tokens fornecidos, a solicitação não criará uma nova execução, mas retornará o ID da execução existente. Se uma execução com os tokens fornecidos for excluída, um erro será retornado. Se você especificar os tokens de idempotência , em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. Databricks garante que exatamente uma execução seja iniciada com esses tokens de idempotência. Esses tokens devem ter no máximo 64 caracteres. Para obter mais informações, consulte Como garantir idempotência para Job. |
lista de execução
endpoint |
Método HTTP |
---|---|
|
|
Liste a execução em ordem decrescente por hora de começar.
Observação
execução são removidos automaticamente após 60 dias. Se você quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados da execução Job . Para exportar usando a API Jobs, consulte execução export.
Exemplo
Solicitar
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<job-id>
com o ID do Job, por exemplo123
.<true-false>
comtrue
oufalse
.<offset>
com o valoroffset
.<limit>
com o valorlimit
.<run-type>
com o valorrun_type
.
Resposta
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se active_only for Se complete_only for |
|
|
O Job para o qual listar a execução. Se omitido, o serviço Jobs listará a execução de todos os jobs. |
|
|
O deslocamento da primeira execução a retornar, em relação à execução mais recente. |
|
|
O número de execução para retornar. Este valor deve ser maior que 0 e menor que 1000. O valor default é 20. Se uma solicitação especificar um limite de 0, o serviço usará o limite máximo. |
|
|
O tipo de execução a retornar. Para obter uma descrição dos tipos de execução, consulte Run. |
Estrutura de resposta
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de execução |
Uma lista de execução, do mais recente começar ao menos. |
|
|
Se true, execuções adicionais correspondentes ao filtro fornecido estarão disponíveis para listagem. |
execução get
endpoint |
Método HTTP |
---|---|
|
|
Recupere os metadados de uma execução.
Observação
execução são removidos automaticamente após 60 dias. Se você quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados da execução Job . Para exportar usando a API Jobs, consulte execução export.
Exemplo
Solicitar
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<run-id>
com o ID da execução, por exemplo123
.
Resposta
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico da execução para a qual recuperar os metadados. Este campo é obrigatório. |
Estrutura de resposta
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico da Job que contém esta execução. |
|
|
O identificador canônico da execução. Este ID é único em toda a execução de todo Job. |
|
|
O número de sequência desta execução entre todas as execuções do Job. Este valor começa em 1. |
|
|
Se esta execução for uma repetição de uma tentativa de execução anterior, este campo conterá o run_id da tentativa original; caso contrário, é igual ao run_id. |
|
O resultado e os estados do ciclo de vida da execução. |
|
|
O cron programar que acionou esta execução se foi acionado pelo programador periódico. |
|
|
A tarefa executada pela execução, se houver. |
|
|
Um Snapshot da especificação clustersdo Job quando esta execução foi criada. |
|
|
Os clusters usados para esta execução. Se a execução for especificada para usar novos clusters, esse campo será definido assim que o serviço Jobs solicitar clusters para a execução. |
|
|
Os parâmetros usados para esta execução. |
|
|
|
A hora em que esta corrida começou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa Job começa a ser executada, por exemplo, se o Job estiver agendado para execução em novos clusters, este é o horário em que a chamada de criação clusters é emitida. |
|
|
A hora em que esta execução terminou em milissegundos de época (milissegundos desde 01/01/1970 UTC). Este campo será definido como 0 se o Job ainda estiver em execução. |
|
|
O tempo em milissegundos que levou para configurar os clusters. Para a execução dessa execução em novos clusters, este é o tempo de criação do cluster, para a execução dessa execução em clusters existentes, esse tempo deve ser muito curto. A duração total da execução é a soma de |
|
|
O tempo em milissegundos que levou para executar os comandos no JAR ou Notebook até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. A duração total da execução é a soma de |
|
|
O tempo em milissegundos que levou para encerrar os clusters e limpar quaisquer artefatos associados. A duração total da execução é a soma de |
|
|
O tempo em milissegundos que a execução Job e todos os seus reparos levaram para terminar. Este campo é definido apenas para a execução Job multitarefa e não para a execução da tarefa. A duração da execução de uma tarefa é a soma de |
|
O tipo de gatilho que disparou esta execução. |
|
|
|
O nome de usuário do criador. Este campo não será incluído na resposta se o usuário tiver sido excluído |
|
|
A URL para a página de detalhes da execução. |
exportação de execução
endpoint |
Método HTTP |
---|---|
|
|
Exporte e recupere a tarefa de execução Job .
Observação
Somente a execução Notebook pode ser exportada no formato HTML. A execução de exportação de outros tipos falhará.
Exemplo
Solicitar
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<run-id>
com o ID da execução, por exemplo123
.
Resposta
{
"views": [ {
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
} ]
}
Para extrair o Notebook HTML da resposta JSON, downloads e execute este script Python.
Observação
O corpo Notebook no objeto __DATABRICKS_NOTEBOOK_MODEL
é codificado.
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico para a execução. Este campo é obrigatório. |
|
Qual view exportar (CODE, DASHBOARDS ou ALL). default para CÓDIGO. |
Estrutura de resposta
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de ViewItem |
O conteúdo exportado em formato HTML (um para cada item view ). |
execução cancelar
endpoint |
Método HTTP |
---|---|
|
|
Cancele a execução Job . Como a execução é cancelada de forma assíncrona, ela ainda pode estar em execução quando essa solicitação for concluída. A execução será encerrada em breve. Se a execução já estiver em um terminal life_cycle_state
, esse método é não operacional.
Este endpoint valida que o parâmetro run_id
é válido e, para parâmetros inválidos, retorna o código de status HTTP 400.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um .netrc arquivo.
execução cancelar tudo
endpoint |
Método HTTP |
---|---|
|
|
Cancela toda execução ativa de um Job. Como a execução é cancelada de forma assíncrona, isso não impede que novas execuções sejam iniciadas.
Este endpoint valida que o parâmetro job_id
é válido e, para parâmetros inválidos, retorna o código de status HTTP 400.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<job-id>
com o ID do Job, por exemplo123
.
Este exemplo usa um .netrc arquivo.
execução obter saída
endpoint |
Método HTTP |
---|---|
|
|
Recupere a saída e os metadados de uma única execução de tarefa. Quando uma tarefa Notebook retorna um valor por meio do dbutils.Notebook.exit() chamada, você pode usar esse endpoint para recuperar esse valor. Databricks restringe esta API para retornar os primeiros 5 MB da saída. Para retornar um resultado maior, você pode armazenar os resultados Job em um serviço de armazenamento cloud .
Este endpoint valida que o parâmetro run_id
é válido e, para parâmetros inválidos, retorna o código de status HTTP 400.
execução são removidos automaticamente após 60 dias. Se você quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados da execução Job . Para exportar usando a API Jobs, consulte execução export.
Exemplo
Solicitar
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<run-id>
com o ID da execução, por exemplo123
.
Resposta
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
Estrutura do pedido
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico para a execução. Para um Job com várias tarefas, este é o |
Estrutura de resposta
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
NotebookSaída OU |
Se Notebook, a saída de uma tarefa Notebook , se disponível. Uma tarefa Notebook que termina (seja com sucesso ou com falha) sem chamar Se houver erro, uma mensagem de erro indicando por que a saída não está disponível. A mensagem não é estruturada e seu formato exato está sujeito a alterações. |
|
Todos os detalhes da execução, exceto sua saída. |
execução deletar
endpoint |
Método HTTP |
---|---|
|
|
Exclua uma execução não ativa. Retorna um erro se a execução estiver ativa.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
Substituir:
<databricks-instance>
com o nome da instância do espaço de trabalho do Databricks, por exemplodbc-a1b2345c-d6e7.cloud.databricks.com
.<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um .netrc arquivo.
Estruturas de dados
Nesta secção:
Escala automática
Intervalo que define o número mínimo e máximo de clusters worker.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O número mínimo de worker para os quais os clusters podem ser reduzidos quando subutilizados. É também o número inicial de worker que os clusters terão após a criação. |
|
|
O número máximo de worker para os quais os clusters podem ser dimensionados quando sobrecarregados. max_workers deve ser estritamente maior que min_workers. |
AwsAttributes
Atributos definidos durante a criação clusters relacionados ao Amazon Web serviço.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Os primeiros nós first_on_demand dos clusters serão colocados em instâncias sob demanda. Se esse valor for maior que 0, o nó do driver clusters será colocado em uma instância sob demanda. Se esse valor for maior ou igual ao tamanho atual clusters , todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho atual clusters , os nós first_on_demand serão colocados em instâncias sob demanda e os restantes serão colocados em |
|
Tipo de disponibilidade usado para todos os nós subsequentes após os first_on_demand. Observação: se first_on_demand for zero, esse tipo de disponibilidade será usado para todos os clusters. |
|
|
|
Identificador para a zona de disponibilidade (AZ) na qual os clusters residem. Por default, a configuração tem um valor de auto, também conhecido como Auto-AZ. Com o Auto-AZ, o Databricks seleciona o AZ com base nos IPs disponíveis nas sub-redes workspace e tenta novamente em outras zonas de disponibilidade se a AWS retornar erros de capacidade insuficiente. Se desejar, você também pode especificar uma zona de disponibilidade para usar. Isso beneficia account que possuem instâncias reservadas em uma AZ específica. Especifique o AZ como strings (por exemplo, A lista de zonas disponíveis, bem como o valor default , podem ser encontrados usando o comando GET /api/2.0/clusters/list-zones chamar. |
|
|
Os nós para esses clusters serão colocados apenas em instâncias da AWS com esse instance profile. Se omitido, os nós serão colocados em instâncias sem um instance profile. O instance profile deve ter sido adicionado anteriormente ao ambiente Databricks por um administrador account . Esse recurso pode estar disponível apenas para determinados planos de clientes. |
|
|
O preço máximo para instâncias spot da AWS, como uma porcentagem do preço sob demanda do tipo de instância correspondente. Por exemplo, se este campo for definido como 50 e os clusters precisarem de uma nova instância spot |
|
O tipo de volumes EBS que serão iniciados com esses clusters. |
|
|
|
O número de volumes lançados para cada instância. Você pode escolher até 10 volumes. Esse recurso é ativado apenas para tipos de nó com suporte. Os tipos de nós legados não podem especificar volumes personalizados do EBS. Para tipos de nó sem armazenamento de instância, pelo menos um volume EBS precisa ser especificado; caso contrário, a criação clusters falhará. Esses volumes EBS serão montados em Se os volumes EBS estiverem anexados, o Databricks configurará o Spark para usar apenas os volumes EBS para armazenamento temporário porque dispositivos temporários de tamanho heterogêneo podem levar à utilização ineficiente do disco. Se nenhum volume EBS estiver anexado, o Databricks configurará o Spark para usar volumes de armazenamento de instâncias. Se os volumes EBS forem especificados, a configuração do Spark |
|
|
O tamanho de cada volume do EBS (em GiB) iniciado para cada instância. Para SSD de propósito geral, este valor deve estar dentro do intervalo 100 - 4096. Para HDD otimizado para taxa de transferência, esse valor deve estar entre 500 e 4096. Os volumes personalizados do EBS não podem ser especificados para os tipos de nós legados (com otimização de memória e otimizaçãocompute). |
|
|
O número de IOPS por volume EBS gp3. Este valor deve estar entre 3000 e 16000. O valor de IOPS e Taxa de transferência é calculado com base na documentação da AWS para corresponder ao desempenho máximo de um volume gp2 com o mesmo tamanho de volume. Para obter mais informações, consulte a calculadora de limite de volume do EBS. |
|
|
A Taxa de transferência por EBS gp3 volume, em MiB por segundo. Este valor deve estar entre 125 e 1000. |
Se nem ebs_volume_iops
nem ebs_volume_throughput
forem especificados, os valores serão inferidos a partir do tamanho do disco:
tamanho do disco |
IOPS |
Taxa de transferência |
---|---|---|
Maior que 1000 |
3 vezes o tamanho do disco, até 16000 |
250 |
Entre 170 e 1000 |
3000 |
250 |
abaixo 170 |
3000 |
125 |
AwsAvailability
O conjunto de tipos de disponibilidade da AWS com suporte ao configurar nós para clusters.
Tipo |
Descrição |
---|---|
|
Use instâncias pontuais. |
|
Use instâncias sob demanda. |
|
De preferência, use instâncias spot, mas volte para instâncias sob demanda se as instâncias spot não puderem ser adquiridas (por exemplo, se os preços spot da AWS forem muito altos). |
ClusterInstance
Identificadores para os clusters e o contexto Spark usados por uma execução. Esses dois valores juntos identificam um contexto de execução ao longo do tempo.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico para os clusters usados por uma execução. Este campo está sempre disponível para execução em clusters existentes. Para execução em novos clusters, fica disponível assim que o cluster é criado. Este valor pode ser usado para view logs navegando até A resposta não incluirá este campo se o identificador ainda não estiver disponível. |
|
|
O identificador canônico para o contexto Spark usado por uma execução. Este campo será preenchido assim que a execução iniciar a execução. Esse valor pode ser usado para view a Spark UI navegando até A resposta não incluirá este campo se o identificador ainda não estiver disponível. |
ClusterLogConf
Caminho para logs clusters.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Localização DBFS de logs clusters. O destino deve ser fornecido. Por exemplo,
Localização S3 de logs clusters. |
ClusterSpec
Importante
Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.
Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade. Se new_clusters, uma descrição de clusters que serão criados para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
|
Uma matriz de biblioteca |
Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia. |
ClusterTag
clusters Tag .
Tipo |
Descrição |
---|---|
|
A key das tags. O comprimento key deve estar entre 1 e 127 caracteres UTF-8, inclusive. Para obter uma lista de todas as restrições, consulte Restrições de tags da AWS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions |
|
O valor das tags. O comprimento do valor deve ser menor ou igual a 255 caracteres UTF-8. Para obter uma lista de todas as restrições, consulte Restrições de tags da AWS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions |
CronSchedule
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Uma expressão Cron usando a sintaxe Quartz que descreve o programar para um Job. Consulte Gatilho Cron para obter detalhes. Este campo é obrigatório. |
|
|
Um ID de fuso horário Java. A programação de um Job será resolvida com relação a este fuso horário. Consulte Java TimeZone para obter detalhes. Este campo é obrigatório. |
|
|
Indique se este programar está pausado ou não. Ou “pausa” ou “UNpausa”. |
DbfsStorageInfo
Informações de armazenamento DBFS.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Destino DBFS. Exemplo: |
EbsVolumeType
O Databricks dá suporte aos tipos de volume EBS gp2 e gp3. Siga as instruções em gerenciar armazenamento SSD para selecionar gp2 ou gp3 para seu workspace.
Tipo |
Descrição |
---|---|
|
provisionamento de armazenamento extra usando volumes AWS EBS. |
|
provisionamento de armazenamento extra usando volumes AWS st1. |
FileStorageInfo
Informação de armazenamento de arquivo.
Observação
Este tipo de localização só está disponível para clusters configurados usando Databricks Container Services.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Destino do arquivo. Exemplo: |
InitScriptInfo
Caminho para um init script.
Para obter instruções sobre como usar init script com o Databricks Container Services, consulte Usar um init script.
Observação
O tipo de armazenamento de arquivos (nome do campo: file
) só está disponível para clusters configurados usando Databricks Container Services. Consulte FileStorageInfo.
Nome do campo |
Tipo |
Descrição |
---|---|---|
OU
|
DbfsStorageInfo (obsoleto) |
localização da workspace do init script. O destino deve ser fornecido. Por exemplo,
(Descontinuado) Localização DBFS do init script. O destino deve ser fornecido. Por exemplo,
Localização S3 do init script. O destino e a região ou armazém devem ser fornecidos. Por exemplo,
|
Job
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico para este Job. |
|
|
O nome de usuário do criador. Este campo não será incluído na resposta se o usuário já tiver sido excluído. |
|
|
O nome de usuário com o qual o Job será executado. |
|
Configurações para este Job e toda a sua execução. Essas configurações podem ser atualizadas usando o método |
|
|
|
A hora em que esta Job foi criada em milissegundos de época (milissegundos desde 01/01/1970 UTC). |
JobEmailNotifications
Importante
Os campos on_start, on_success e on_failure aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de |
Uma lista de endereços email a serem notificados quando uma execução começar. Se não for especificado em Criação Job , Reset ou atualização, a lista estará vazia e as notificações não serão enviadas. |
|
Uma matriz de |
Uma lista de endereços email a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um |
|
Uma matriz de |
Uma lista de endereços email a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um |
|
Uma matriz de |
Uma lista de endereços email a serem notificados quando a duração de uma execução exceder o limite especificado para |
|
|
Se verdadeiro, não envie email para destinatários especificados em |
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução começar. Se não for especificado em Criação Job , Reset ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a propriedade |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para o |
JobNotificationSettings
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se verdadeiro, não envie notificações aos destinatários especificados em |
|
|
Se verdadeiro, não envie notificações aos destinatários especificados em |
|
|
Se verdadeiro, não envie notificações aos destinatários especificados em |
JobSettings
Importante
Quando você executa um Job em um novo clusters Job, o Job é tratado como uma carga de trabalho compute de Jobs (automatizada) sujeita a preços compute de Jobs.
Quando você executa um Job em um todo-propósito de clustersexistente, ele é tratado como uma carga de trabalho compute multiuso (interativa) sujeita a preços compute multifuncional.
Configurações para um Job. Essas configurações podem ser atualizadas usando o método resetJob
.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se existindo_clusters_id, o ID de um clusters existente que será usado para toda a execução deste Job. Ao executar Job em clusters existentes, pode ser necessário reiniciar manualmente os clusters se eles pararem de responder. Sugerimos a execução Job em novos clusters para maior confiabilidade. Se new_clusters, uma descrição de clusters que serão criados para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
|
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask |
Se Notebook, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task. Se spark_jar_task, indica que este Job deve executar um JAR. Se spark_python_task, indica que este Job deve executar um arquivo Python. Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark. Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables. Se execução, indica que este Job deve executar outro Job. |
|
|
Um nome opcional para o Job. O valor default é |
|
Uma matriz de biblioteca |
Uma lista opcional de bibliotecas a serem instaladas nos clusters que executarão o Job. O valor default é uma lista vazia. |
|
Um conjunto opcional de endereços email que serão notificados quando a execução deste Job for iniciada ou concluída, bem como quando este Job for excluído. O comportamento default é não enviar nenhum email. |
|
|
Um conjunto opcional de destinos do sistema para notificar quando a execução deste Job começa, termina ou falha. |
|
|
Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos |
|
|
|
Um tempo limite opcional aplicado a cada execução deste Job. O comportamento default é não ter tempo limite. |
|
|
Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com |
|
|
Um intervalo mínimo opcional em milissegundos entre as tentativas. O comportamento default é que as execuções malsucedidas são imediatamente repetidas. |
|
|
Uma política opcional para especificar se uma Job deve ser repetida quando ela atingir o tempo limite. O comportamento default é não tentar novamente no tempo limite. |
|
Um programador periódico opcional para este Job. O comportamento default é que o Job só será executado quando acionado clicando em “execução agora” na interface do usuário de trabalhos ou enviando uma solicitação de API para |
|
|
|
Um número máximo permitido opcional de execução concorrente do Job. Defina esse valor se desejar executar várias execuções do mesmo Job simultaneamente. Isso é útil, por exemplo, se você acionar seu Job em um programar frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se você quiser acionar múltiplas execuções que diferem por seus parâmetros de entrada. Esta configuração afeta apenas a nova execução. Por exemplo, suponha que a simultaneidade do Jobseja 4 e existam 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não eliminará nenhuma das execuções ativas. Porém, a partir de então, novas execuções serão omitidas, a menos que existam menos de 3 execuções ativas. Este valor não pode exceder 1000. Definir esse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento default é permitir apenas 1 execução concorrente. |
|
Um conjunto opcional de regras de integridade definidas para o Job. |
Tarefa do serviço
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask |
Se Notebook, indica que este Job deve executar um Notebook. Este campo não pode ser especificado em conjunto com spark_jar_task. Se spark_jar_task, indica que este Job deve executar um JAR. Se spark_python_task, indica que este Job deve executar um arquivo Python. Se spark_submit_task, indica que este Job deve ser iniciado pelo script de envio do Spark. Se pipeline_task, indica que este Job deve executar um pipeline Delta Live Tables. Se execução, indica que este Job deve executar outro Job. |
EmpregosRegra de Saúde
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Especifica as métricas de integridade que estão sendo avaliadas para uma regra de integridade específica. Os valores válidos são |
|
|
Especifica o operador usado para comparar o valor dos indicadores de integridade com o limite especificado. Os valores válidos são |
|
|
Especifica o valor limite que os indicadores de integridade devem atender para cumprir a regra de integridade. |
EmpregosSaúdeRegras
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de JobsHealthRule |
Um conjunto opcional de regras de integridade que podem ser definidas para um Job. |
biblioteca
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se jar, URI do JAR a ser instalado. DBFS e S3 URIs são suportados. Por exemplo: Se ovo, URI do ovo a ser instalado. DBFS e S3 URIs são suportados. Por exemplo: Se for o caso, URI do Se pypi, especificação de uma biblioteca PyPI a ser instalada. Especificar o campo Se maven, especificação de uma biblioteca Maven a ser instalada. Por exemplo:
Se cran, especificação de uma biblioteca CRAN a ser instalada. |
MavenLibraryName
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Coordenadas Maven no estilo Gradle. Por exemplo: |
|
|
repo Maven para instalar o pacote Maven. Se omitido, tanto o repositório Maven Central quanto o pacote Spark são pesquisados. |
|
Uma matriz de |
Lista de dependências a excluir. Por exemplo: Exclusões de dependência do Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
NovoCluster
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Se num_workers, número de nós do trabalhador que esses clusters devem ter. Um clusters tem um driver Spark e executores num_workers para um total de num_workers + 1 nós Spark. Ao ler as propriedades de um clusters, esse campo reflete o número desejado de worker em vez do número atual real de worker. Por exemplo, se um clusters for redimensionado de 5 para 10 worker, este campo será imediatamente atualizado para refletir o tamanho de destino de 10 worker, enquanto o worker listado em Se escalar automaticamente, os parâmetros necessários para escalar clusters automaticamente para cima e para baixo com base na carga. |
|
|
A versão Spark dos clusters. Uma lista de versões disponíveis do Spark pode ser recuperada usando a chamada GET 2.0/clusters/spark-versions . Este campo é obrigatório. |
|
Um objeto que contém um conjunto opcional de valor- keypar de configuração do Spark especificado pelo usuário. Você também pode passar strings de opções JVM extras para o driver e os executores por meio de Exemplo de confs do Spark: |
|
|
Atributos relacionados a clusters em execução no Amazon Web serviço. Se não for especificado na criação clusters , um conjunto de valores default será usado. |
|
|
|
Este campo codifica, através de um único valor, o recurso disponível para cada um dos nós Spark neste clusters. Por exemplo, os nós Spark podem ser provisionados e otimizados para cargas de trabalho com uso intensivo de memória ou compute . Uma lista de tipos de nós disponíveis pode ser recuperada usando a chamada GET 2.0/clusters/list-node-types . Este campo, o campo |
|
|
O tipo de nó do driver Spark. Este campo é opcional; se não for definido, o tipo de nó do driver será definido com o mesmo valor de |
|
Uma matriz de |
Conteúdo key pública SSH que será adicionado a cada nó do Spark nesses clusters. A key privada correspondente pode ser usada para efetuar login com o nome de usuário |
|
Um objeto que contém um conjunto de tags para recursos clusters . O Databricks marca todos os recursos clusters (como instâncias da AWS e volumes EBS) com essas marcas, além de default_tags. Nota:
|
|
|
A configuração para entregar logs do Spark para um destino de armazenamento de longo prazo. Apenas um destino pode ser especificado para um clusters. Se o conf for fornecido, os logs serão entregues ao destino a cada |
|
|
Uma matriz de InitScriptInfo |
A configuração para armazenar init script. Qualquer número de scripts pode ser especificado. Os scripts são executados sequencialmente na ordem fornecida. Se |
|
Um objeto que contém um conjunto opcional de variável de ambiente por key-valor especificado pelo usuário. par chave-valor do formulário (X,Y) são exportados como estão (ou seja, Para especificar um conjunto adicional de Exemplo Spark variável de ambiente: |
|
|
|
autoscale Local Storage: quando ativado, esse cluster adquire dinamicamente espaço em disco adicional quando o Spark worker estiver com pouco espaço em disco. Esse recurso requer permissões específicas do AWS para funcionar corretamente - consulte Ativar armazenamento local de autoescala para obter detalhes. |
|
|
O ID opcional do pool de instâncias a ser usado para o nó do driver. Você também deve especificar |
|
|
O ID opcional do pool de instâncias a ser usado para nós clusters . Se |
NotebookOutput
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O valor passado para dbutils.Notebook.exit(). Databricks restringe esta API para retornar o primeiro 1 MB do valor. Para um resultado maior, seu Job pode armazenar os resultados em um serviço de armazenamento cloud . Este campo estará ausente se |
|
|
Se o resultado foi truncado ou não. |
NotebookTask
Todas as células de saída estão sujeitas ao tamanho de 8 MB. Se a saída de uma célula tiver um tamanho maior, o restante da execução será cancelado e a execução será marcada como falha. Nesse caso, parte da saída de conteúdo de outras células também pode estar ausente.
Se precisar de ajuda para encontrar a célula que está além do limite, execute o Notebook contra o todo-propósito de um clusterse use esta técnica de salvamento automáticoNotebook .
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O caminho absoluto do Notebook a ser executado no workspace do Databricks. Este caminho deve começar com uma barra. Este campo é obrigatório. |
|
|
O timestamp da revisão do Notebook. |
|
Um mapa de ParamPair |
Parâmetros base a serem usados para cada execução deste Job. Se a execução for iniciada por uma chamada para Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . Se o Notebook usar um parâmetro que não esteja especificado nos parâmetros de substituição Recupere esses parâmetros em um Notebook usando dbutils.widgets.get. |
ParamPair
Parâmetros baseados em nome para Job executando Tarefas Notebook .
Importante
Os campos nesta estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis.
Tipo |
Descrição |
---|---|
|
Nome do parâmetro. Passe para dbutils.widgets.get para recuperar o valor. |
|
Valor do parâmetro. |
PipelineTask
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O nome completo da tarefa de pipeline Delta Live Tables a ser executada. |
PythonPyPiLibraryName
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O nome do pacote PyPI a ser instalado. Uma especificação de versão exata opcional também é suportada. Exemplos: |
|
|
O repositório onde o pacote pode ser encontrado. Se não for especificado, o índice de pip default será usado. |
RCranLibraryName
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O nome do pacote CRAN a ser instalado. Este campo é obrigatório. |
|
|
O repositório onde o pacote pode ser encontrado. Se não for especificado, o repositório CRAN default será usado. |
execução
Todas as informações sobre uma execução, exceto sua saída. A saída pode ser recuperada separadamente com o método getRunOutput
.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O identificador canônico da Job que contém esta execução. |
|
|
O identificador canônico da execução. Este ID é único em toda a execução de todo Job. |
|
|
O nome de usuário do criador. Este campo não será incluído na resposta se o usuário já tiver sido excluído. |
|
|
O número de sequência desta execução entre todas as execuções do Job. Este valor começa em 1. |
|
|
Se esta execução for uma repetição de uma tentativa de execução anterior, este campo conterá o run_id da tentativa original; caso contrário, é igual ao run_id. |
|
O resultado e os estados do ciclo de vida da execução. |
|
|
O cron programar que acionou esta execução se foi acionado pelo programador periódico. |
|
|
A tarefa executada pela execução, se houver. |
|
|
Um Snapshot da especificação clustersdo Job quando esta execução foi criada. |
|
|
Os clusters usados para esta execução. Se a execução for especificada para usar novos clusters, esse campo será definido assim que o serviço Jobs solicitar clusters para a execução. |
|
|
Os parâmetros usados para esta execução. |
|
|
|
A hora em que esta corrida começou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa Job começa a ser executada, por exemplo, se o Job estiver agendado para execução em novos clusters, este é o horário em que a chamada de criação clusters é emitida. |
|
|
O tempo que levou para configurar os clusters em milissegundos. Para a execução dessa execução em novos clusters, este é o tempo de criação do cluster, para a execução dessa execução em clusters existentes, esse tempo deve ser muito curto. |
|
|
O tempo em milissegundos que levou para executar os comandos no JAR ou Notebook até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. |
|
|
O tempo em milissegundos que levou para encerrar os clusters e limpar quaisquer artefatos associados. A duração total da execução é a soma do setup_duration, do operation_duration e do cleanup_duration. |
|
|
A hora em que esta execução terminou em milissegundos de época (milissegundos desde 01/01/1970 UTC). Este campo será definido como 0 se o Job ainda estiver em execução. |
|
O tipo de gatilho que disparou esta execução. |
|
|
|
Um nome opcional para a execução. O valor default é |
|
|
A URL para a página de detalhes da execução. |
|
|
O tipo de execução.
|
|
|
O número de sequência desta tentativa de execução para uma execução Job acionada. A tentativa inicial de uma execução tem um try_number de 0. Se a tentativa inicial de execução falhar e a Job tiver uma política de repetição ( |
ExecutarJobTask
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Identificador único do Job a ser executado. Este campo é obrigatório. |
RunLifeCycleState
O estado do ciclo de vida de uma execução. As transições de estado permitidas são:
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
Estado |
Descrição |
---|---|
|
A execução foi acionada. Se ainda não houver uma execução ativa do mesmo Job, os clusters e o contexto de execução estão sendo preparados. Se já houver uma execução ativa do mesmo Job, a execução fará a transição imediata para o estado |
|
A tarefa desta execução está sendo executada. |
|
A tarefa desta execução foi concluída e os clusters e o contexto de execução estão sendo limpos. |
|
A tarefa desta execução foi concluída e os clusters e o contexto de execução foram limpos. Este estado é terminal. |
|
Esta execução foi interrompida porque uma execução anterior do mesmo Job já estava ativa. Este estado é terminal. |
|
Um estado excepcional que indica uma falha no serviço Jobs, como falha de rede por um longo período. Se uma execução em novos clusters terminar no estado |
RunParameters
Parâmetros para esta execução. Apenas um dos jar_params, python_params
ou Notebook deve ser especificado na solicitação run-now
, dependendo do tipo de tarefa Job . Trabalhos com tarefa Spark JAR ou tarefa Python usam uma lista de parâmetros baseados em posição e Job com tarefas Notebook usam um mapa key valor.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de |
Uma lista de parâmetros para tarefas Job with Spark JAR, por exemplo Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . |
|
Um mapa de ParamPair |
Um mapa da key para os valores da tarefa Job with Notebook , por exemplo Se não for especificado em Notebook não pode ser especificado em conjunto com jar_params. Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . A representação JSON deste campo (ou seja, |
|
Uma matriz de |
Uma lista de parâmetros para Job com tarefas Python, por exemplo Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . Importante Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis. |
|
Uma matriz de |
Uma lista de parâmetros para Job com tarefa de envio de faísca, por exemplo Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . Importante Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis. |
RunResultState
O estado do resultado da execução.
If
life_cycle_state
=TERMINATED
: se a execução tiver uma tarefa, é garantido que o resultado estará disponível e indica o resultado da tarefa.Se
life_cycle_state
=PENDING
,RUNNING
ouSKIPPED
, o estado do resultado não está disponível.If
life_cycle_state
=TERMINATING
ou lifecyclestate =INTERNAL_ERROR
: o estado do resultado está disponível se o run tivesse uma tarefa e começasse a começar.
Uma vez disponível, o estado do resultado nunca muda.
Estado |
Descrição |
---|---|
|
A tarefa foi concluída com sucesso. |
|
A tarefa foi concluída com um erro. |
|
A execução foi interrompida após atingir o timeout. |
|
A execução foi cancelada a pedido do usuário. |
RunState
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma descrição do local atual de uma execução no ciclo de vida da execução. Este campo está sempre disponível na resposta. |
|
|
O estado resultante de uma execução. Se não estiver disponível, a resposta não incluirá este campo. Consulte RunResultState para obter detalhes sobre a disponibilidade de result_state. |
|
|
|
Se uma execução foi cancelada manualmente por um usuário ou pelo programador porque a execução expirou. |
|
|
Uma mensagem descritiva para o estado atual. Este campo não é estruturado e seu formato exato está sujeito a alterações. |
S3StorageInfo
Informações de armazenamento S3.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
destino S3. Por exemplo: |
|
|
região S3. Por exemplo: |
|
|
Armazém S3. Por exemplo: |
|
|
(Opcional) Ative a criptografia do lado do servidor, |
|
|
(Opcional) O tipo de criptografia, pode ser |
|
|
(Opcional) key KMS usada se a criptografia estiver ativada e o tipo de criptografia estiver definido como |
|
|
(Opcional) Defina a lista de controle de acesso enlatada. Por exemplo: |
SparkConfPair
Par key-valor da configuração do Spark.
Tipo |
Descrição |
---|---|
|
Um nome de propriedade de configuração. |
|
O valor da propriedade de configuração. |
SparkEnvPair
Spark variável de ambiente por key-value.
Importante
Ao especificar a variável de ambiente em um Job clusters, os campos desta estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Exemplos de caracteres não ASCII inválidos são kanjis chineses, japoneses e emojis.
Tipo |
Descrição |
---|---|
|
Um nome de variável de ambiente. |
|
O valor da variável de ambiente. |
SparkJarTask
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Obsoleto desde 04/2016. Em vez disso, forneça um |
|
|
O nome completo da classe que contém o método principal a ser executado. Essa classe deve estar contida em um JAR fornecido como uma biblioteca. O código deve usar |
|
Uma matriz de |
Parâmetros passados para o método principal. Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . |
SparkPythonTaskName
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
O URI do arquivo Python a ser executado. Caminhos DBFS e S3 são suportados. Este campo é obrigatório. |
|
Uma matriz de |
Parâmetros de linha de comando passados para o arquivo Python. Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . |
SparkSubmitTask
Importante
Você pode invocar tarefas de envio do Spark apenas em novos clusters.
Na especificação new_cluster,
libraries
espark_conf
não são suportados. Em vez disso, use--jars
e--py-files
para adicionar bibliotecas Java e Python e--conf
para definir a configuração do Spark.master
,deploy-mode
eexecutor-cores
são configurados automaticamente pelo Databricks; você não pode especificá-los em parâmetros.Por default, o Job de envio do Spark usa toda a memória disponível (excluindo a memória reservada para serviços Databricks). Você pode definir
--driver-memory
e--executor-memory
para um valor menor para deixar algum espaço para uso fora da pilha.Os argumentos
--jars
,--py-files
,--files
suportam caminhos DBFS e S3.
Por exemplo, supondo que o JAR seja upload no DBFS, você pode executar SparkPi
definindo os seguintes parâmetros.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de |
Parâmetros de linha de comando passados para o envio do Spark. Use Passar contexto sobre a execução Job para a tarefa Job para definir parâmetros contendo informações sobre a execução Job . |
Tipo de gatilho
Esses são os tipos de gatilhos que podem disparar uma execução.
Tipo |
Descrição |
---|---|
|
programar que aciona periodicamente a execução, como um cron programador. |
|
Gatilhos únicos que disparam uma única execução. Isso ocorre quando você aciona uma única execução sob demanda por meio da interface do usuário ou da API. |
|
Indica uma execução que é acionada como uma nova tentativa de uma execução com falha anterior. Isso ocorre quando você solicita a reexecução do Job em caso de falhas. |
Ver item
O conteúdo exportado está no formato HTML. Por exemplo, se a view a ser exportada for painéis, uma strings HTML será retornada para cada painel.
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Conteúdo da view. |
|
|
Nome do item view . No caso de code view, o nome do Notebook . No caso da view do painel , o nome do painel. |
|
Tipo do item view . |
ViewType
Tipo |
Descrição |
---|---|
|
Item view Notebook . |
|
Item view do painel. |
ViewsToExport
view para exportar: código, todos os painéis ou todos.
Tipo |
Descrição |
---|---|
|
view de código do Notebook. |
|
Todas as view do painel do Notebook. |
|
Todas view do Notebook. |
Webhook
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Identificador que faz referência a um destino de notificação do sistema. Este campo é obrigatório. |
Webhook Notificações
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução começar. Se não for especificado em Criação Job , Reset ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a propriedade |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com sucesso. Uma execução é considerada concluída com sucesso se terminar com um |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem sucesso. Uma execução é considerada concluída sem sucesso se terminar com um |
|
Uma matriz de Webhook |
Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para o |
WorkspaceStorageInfo
informação de armazenamento workspace .
Nome do campo |
Tipo |
Descrição |
---|---|---|
|
|
Destino do arquivo. Exemplo: |