API de empregos 2.0
Importante
Este artigo documenta a versão 2.0 da API de trabalhos. No entanto, o Databricks recomenda que você use Jobs API 2.2 para clientes e scripts novos e existentes. Para obter detalhes sobre as alterações na versão 2.2 da API de Trabalhos, consulte Atualização da API de Trabalhos 2.1 para 2.2.
A API de trabalhos permite criar, editar e excluir trabalhos. O tamanho máximo permitido de uma solicitação para a API de trabalhos é de 10 MB.
Para saber mais sobre a funcionalidade atualizada em versões mais recentes da API de Trabalhos, consulte Atualização da API de Trabalhos 2.0 para 2.1 e Atualização da API de Trabalhos 2.1 para 2.2.
Aviso
Você nunca deve codificar segredos ou armazená-los em texto simples. Utilize a API Secrets para gerir segredos na CLI do Databricks. Use o utilitário Secrets (dbutils.secrets) para fazer referência a segredos em blocos de anotações e trabalhos.
Nota
Se você receber um erro de nível 500 ao fazer solicitações de API de trabalhos, o Databricks recomenda repetir as solicitações por até 10 minutos (com um intervalo mínimo de 30 segundos entre as tentativas).
Importante
Para aceder às APIs REST do Databricks, tem de se autenticar.
Criar
Ponto final | Método HTTP |
---|---|
2.0/jobs/create |
POST |
Crie um novo trabalho.
Exemplo
Este exemplo cria um trabalho que executa uma tarefa JAR às 22h15 todas as noites.
Solicitação
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemplo,adb-1234567890123456.7.azuredatabricks.net
. - O conteúdo de
create-job.json
com campos que são apropriados para a sua solução.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"job_id": 1
}
Estrutura do pedido
Importante
- Quando se executa um trabalho num novo cluster de tarefas, o trabalho é tratado como uma tarefa Jobs Compute (automatizada) sujeita à faturação de Jobs Compute.
- Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se new_cluster, uma descrição de um cluster que será criado para cada execução. Se especificar um PipelineTask, este campo pode estar vazio. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task. Se spark_jar_task, indica que este trabalho deve executar um ficheiro JAR. Se spark_python_task, indica que esse trabalho deve executar um arquivo Python. Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark. Se for pipeline_task, indica que este trabalho deve executar um pipeline de DLT. Se run_job_task, indica que esta tarefa deve executar outra tarefa. |
name |
STRING |
Um nome opcional para o trabalho. O valor predefinido é Untitled . |
libraries |
Um conjunto de Bibliotecas | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
email_notifications |
NotificaçõesDeEmailDeTrabalho | Um conjunto opcional de endereços de e-mail que recebem notificações quando as execuções desta tarefa são iniciadas e concluídas e quando esta tarefa é excluída. O comportamento padrão é não enviar e-mails. |
webhook_notifications |
WebhookNotificações | Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham. |
notification_settings |
ConfiguraçõesDeNotificaçãoDeEmprego | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para este trabalho. |
timeout_seconds |
INT32 |
Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite. |
max_retries |
INT32 |
Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o FAILED result_state ouINTERNAL_ERROR life_cycle_state . O valor -1 significa repetir indefinidamente e o valor 0 significa nunca mais tentar. O comportamento padrão é nunca mais tentar. |
min_retry_interval_millis |
INT32 |
Um intervalo mínimo opcional em milissegundos entre o início da execução com falha e a execução de repetição subsequente. O comportamento padrão é que as tentativas malsucedidas são imediatamente repetidas. |
retry_on_timeout |
BOOL |
Uma política opcional para especificar se um trabalho deve ser repetido quando expirar o tempo limite. O padrão é não repetir no caso de tempo esgotado. |
schedule |
CronSchedule | Um cronograma periódico opcional para este trabalho. O comportamento padrão é que o trabalho é executado quando acionado clicando em Executar agora na interface do usuário Trabalhos ou enviando uma solicitação de API para runNow . |
max_concurrent_runs |
INT32 |
Um número máximo opcional permitido de execuções simultâneas do trabalho. Defina esse valor se quiser ser capaz de executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você acionar seu trabalho em um cronograma frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem por seus parâmetros de entrada. Essa configuração afeta apenas novas execuções. Por exemplo, suponha que a simultaneidade do trabalho é 4 e há 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não interromperá nenhuma das execuções ativas. No entanto, daí em diante, novas corridas são ignoradas, a menos que haja menos de 3 corridas ativas. Este valor não pode exceder 1000. Definir este valor como 0 faz com que as próximas execuções sejam ignoradas. O comportamento padrão é permitir apenas 1 execução simultânea. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico para o trabalho recém-criado. |
Lista
Ponto final | Método HTTP |
---|---|
2.0/jobs/list |
GET |
Liste todos os trabalhos.
Exemplo
Pedido
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Substitua <databricks-instance>
pelo nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
jobs |
Uma matriz de Job | A lista de empregos. |
Suprimir
Ponto final | Método HTTP |
---|---|
2.0/jobs/delete |
POST |
Exclua um trabalho e envie um e-mail para os endereços especificados em JobSettings.email_notifications
. Nenhuma ação ocorrerá se o trabalho já tiver sido removido. Depois que o trabalho é removido, nem seus detalhes nem seu histórico de execução são visíveis na interface do usuário ou na API de Trabalhos. A remoção do trabalho é garantida após a conclusão deste pedido. No entanto, os processos que estavam em execução antes de recebermos esta solicitação podem ainda estar ativos. Eles serão encerrados de forma assíncrona.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Substituir:
com o nome da instância de espaço de trabalho do Azure Databricks , por exemplo . -
<job-id>
com o ID do trabalho, por exemplo123
.
Este exemplo usa um arquivo .netrc .
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canónico do trabalho a eliminar. Este campo é obrigatório. |
Obter
Ponto final | Método HTTP |
---|---|
2.0/jobs/get |
GET |
Obtenha informações sobre uma única vaga.
Exemplo
Pedido
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
com o ID do trabalho, por exemplo123
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho sobre o qual recuperar informações. Este campo é obrigatório. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador padronizado para esta tarefa. |
creator_user_name |
STRING |
O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador tiver sido eliminado. |
settings |
JobSettings | Configurações para este trabalho e todas as suas execuções. Essas configurações podem ser atualizadas usando os endereços Redefinir ou Atualizar. |
created_time |
INT64 |
A hora em que este trabalho foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC). |
Redefinir
Ponto final | Método HTTP |
---|---|
2.0/jobs/reset |
POST |
Sobrescreva todas as definições de uma tarefa específica. Use o endpoint Update para atualizar parcialmente as configurações do trabalho.
Exemplo
Esta solicitação de exemplo torna o trabalho 2 idêntico ao trabalho 1 no exemplo create .
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. - O conteúdo de
reset-job.json
com campos que são apropriados para a sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador único do trabalho a ser redefinido. Este campo é obrigatório. |
new_settings |
JobSettings | As novas definições da tarefa. Essas configurações substituem completamente as configurações antigas. As alterações no campo JobSettings.timeout_seconds são aplicadas a processos ativos. As alterações em outros campos são aplicadas apenas a execuções futuras. |
Atualização
Ponto final | Método HTTP |
---|---|
2.0/jobs/update |
POST |
Adicione, altere ou remova configurações específicas de um trabalho existente. Utilize o endpoint Redefinir para substituir todas as configurações da tarefa.
Exemplo
Esta solicitação de exemplo remove bibliotecas e adiciona configurações de notificação por email ao trabalho 1 definido no exemplo create .
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": ["someone@example.com"],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
Substituir:
com o nome da instância do espaço de trabalho do Azure Databricks , por exemplo . - O conteúdo de
update-job.json
com campos que são apropriados para a sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho a ser atualizado. Este campo é obrigatório. |
new_settings |
JobSettings | As novas configurações para a tarefa. Os campos de nível superior especificados em new_settings , exceto matrizes, são completamente substituídos. As matrizes são mescladas com base nos respetivos campos-chave, como task_key oujob_cluster_key , e as entradas de matriz com a mesma chave são completamente substituídas. Com exceção da mesclagem de matrizes, não há suporte para a atualização parcial de campos aninhados.As alterações no campo JobSettings.timeout_seconds são aplicadas a processos ativos. As alterações em outros campos são aplicadas apenas a execuções futuras. |
fields_to_remove |
Uma matriz de STRING |
Remova os campos de nível superior nas configurações do trabalho. Não há suporte para a remoção de campos aninhados, exceto para as entradas das matrizes tasks e job_clusters . Por exemplo, o seguinte é um argumento válido para este campo:["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Este campo é opcional. |
Executar agora
Importante
- Um espaço de trabalho é limitado a 1000 execuções de tarefas simultâneas. É devolvida uma resposta
429 Too Many Requests
quando pede uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um espaço de trabalho pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Este limite também afeta as tarefas criadas pela API REST e os fluxos de trabalho do bloco de notas.
- Um espaço de trabalho pode conter até 12000 empregos salvos.
- Um trabalho pode conter até 100 tarefas.
Ponto final | Método HTTP |
---|---|
2.0/jobs/run-now |
POST |
Execute um trabalho agora e devolva o run_id
da execução iniciada.
Gorjeta
Se invocar Criar junto com Executar agora, pode usar o endpoint Runs submit, o que lhe permite enviar diretamente a sua carga de trabalho sem precisar criar uma tarefa.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
Um exemplo de solicitação para um trabalho de caderno de notas.
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Um exemplo de solicitação para um trabalho JAR:
{
"job_id": 2,
"jar_params": ["john doe", "35"]
}
Substituir:
com o nome da instância de espaço de trabalho do Azure Databricks , por exemplo . - O conteúdo de
run-job.json
com campos adequados à sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
|
jar_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas JAR, por exemplo, "jar_params": ["john doe", "35"] . Os parâmetros serão usados para invocar a função principal da classe principal especificada na tarefa JAR do Spark. Se não for especificado no run-now , ele será definido como uma lista vazia por padrão. jar_params não pode ser especificado em conjunto com notebook_params. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"jar_params":["john doe","35"]} |
notebook_params |
Um mapa de ParamPair | Um mapa de chave-valor para trabalhos com tarefas de notebook, por exemplo,"notebook_params": {"name": "john doe", "age": "35"} . O mapa é passado para o bloco de notas e é acessível através da função dbutils.widgets.get .Se não for especificado no run-now , a execução acionada usa os parâmetros base do trabalho.Não é possível especificar notebook_params em conjunto com jar_params. A representação JSON deste campo (ou seja, {"notebook_params":{"name":"john doe","age":"35"}} ) não pode exceder 10.000 bytes. |
python_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas Python, por exemplo. "python_params": ["john doe", "35"] Os parâmetros serão passados para o arquivo Python como parâmetros de linha de comando. Caso seja especificado no run-now , isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]} |
spark_submit_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefa de envio em Spark, por exemplo:"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Os parâmetros serão passados para o script spark-submit como parâmetros de linha de comando. Caso seja especificado no run-now , isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo não pode exceder 10.000 bytes. |
idempotency_token |
STRING |
Um token opcional para garantir a idempotência das solicitações de execução. Se já existir uma execução com o token fornecido, a solicitação não criará uma nova execução, mas retornará a ID da execução existente. Se uma execução com o token fornecido for excluída, um erro será retornado. Se especificares o token de idempotência, no caso de falha, podes repetir até que o pedido seja bem-sucedido. O Azure Databricks garante que exatamente uma execução seja iniciada com esse token de idempotência. Este token deve ter no máximo 64 caracteres. Para obter mais informações, consulte Como garantir idempotência para trabalhos. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador único global da execução recém-acionada. |
number_in_job |
INT64 |
O número sequencial desta execução entre todas as execuções do trabalho. |
Execução enviar
Importante
- Um espaço de trabalho é limitado a 1000 execuções de tarefas simultâneas. É devolvida uma resposta
429 Too Many Requests
quando pede uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um espaço de trabalho pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Este limite também afeta as tarefas criadas pela API REST e os fluxos de trabalho do bloco de notas.
- Um espaço de trabalho pode conter até 12000 empregos salvos.
- Um trabalho pode conter até 100 tarefas.
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/submit |
POST |
Envie uma execução única. Este endpoint permite-lhe submeter uma carga de trabalho diretamente sem criar uma tarefa. Use a jobs/runs/get
API para verificar o estado de execução após o envio do trabalho.
Exemplo
Pedir
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. - O conteúdo de
submit-job.json
com campos que são apropriados para a sua solução.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"run_id": 123
}
Estrutura do pedido
Importante
- Quando se executa um trabalho em um novo cluster de trabalhos, o trabalho é tratado como carga de trabalho de Jobs Compute (automatizada) sujeita aos preços de Jobs Compute.
- Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se new_cluster, uma descrição de um cluster que será criado para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task. Se spark_jar_task, indica que esta tarefa deve executar um JAR. Se spark_python_task, indica que esse trabalho deve executar um arquivo Python. Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark. Se for pipeline_task, isso indica que este trabalho deve executar um pipeline DLT. Se run_job_task, indica que esta tarefa deve executar outra tarefa. |
run_name |
STRING |
Um nome opcional para a execução. O valor predefinido é Untitled . |
webhook_notifications |
WebhookNotificações | Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham. |
notification_settings |
ConfiguraçõesDeNotificaçãoDeEmprego | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos webhook_notifications desta execução. |
libraries |
Um conjunto de Bibliotecas | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
timeout_seconds |
INT32 |
Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite. |
idempotency_token |
STRING |
Um token opcional para garantir a idempotência das solicitações de execuções de tarefas. Se já existir uma execução com o token fornecido, a solicitação não criará uma nova execução, mas retornará a ID da execução existente. Se uma execução com o token fornecido for excluída, um erro será retornado. Se especificar o token de idempotência, em caso de falha, poderá tentar novamente até que a solicitação seja bem-sucedida. O Azure Databricks garante que exatamente uma execução seja iniciada com esse token de idempotência. Este token deve ter no máximo 64 caracteres. Para obter mais informações, consulte Como garantir idempotência para trabalhos. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador padrão para a tarefa recentemente enviada. |
Lista de corridas
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/list |
GET |
A lista é organizada em ordem decrescente pela hora de início.
Nota
As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.
Exemplo
Pedir
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
com o ID do trabalho, por exemplo123
. - "
<true-false>
comtrue
oufalse
". -
<offset>
com o valoroffset
. -
<limit>
com o valorlimit
. -
<run-type>
com o valorrun_type
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
active_only OU completed_only |
BOOL OU BOOL |
Se active_only for true verdadeiro, apenas as execuções ativas serão incluídas nos resultados; caso contrário, são listadas tanto as execuções ativas quanto as concluídas. Uma execução ativa é uma execução no PENDING , no RUNNING ou no TERMINATING RunLifecycleState. Este campo não pode ser true quando completed_only é true .Se completed_only estiver em true , apenas as execuções concluídas serão incluídas nos resultados; caso contrário, ambas as execuções ativas e concluídas serão listadas. Este campo não pode ser true quando ative_only é true . |
job_id |
INT64 |
O trabalho para o qual a lista de execução é feita. Se for omitido, o serviço de Tarefas irá listar as execuções de todas as tarefas. |
offset |
INT32 |
O desfasamento da primeira execução a retornar, em relação à execução mais recente. |
limit |
INT32 |
O número de corridas a serem retornadas. Este valor deve ser superior a 0 e inferior a 1000. O valor padrão é 20. Se uma solicitação especificar um limite de 0, o serviço usará o limite máximo. |
run_type |
STRING |
O tipo de corridas a retornar. Para obter uma descrição dos tipos de execução, consulte Executar. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
runs |
Uma matriz de Run | Uma lista de corridas, da mais recentemente iniciada para a menos recente. |
has_more |
BOOL |
Se for verdade, corridas adicionais que correspondem ao filtro fornecido estão disponíveis para listagem. |
Corridas obtidas
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Recupere os metadados de uma execução.
Nota
As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.
Exemplo
Pedido
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução para a qual recuperar os metadados. Este campo é obrigatório. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador único da tarefa que contém esta execução. |
run_id |
INT64 |
O identificador canônico da execução. Este ID é único em todas as execuções de todos os trabalhos. |
number_in_job |
INT64 |
O número sequencial desta execução entre todas as execuções da tarefa. Este valor começa em 1. |
original_attempt_run_id |
INT64 |
Se esta execução for uma repetição de uma tentativa de execução anterior, este campo contém o run_id da tentativa original; caso contrário, é o mesmo que o run_id. |
state |
RunState | O resultado e os estados de ciclo de vida da execução. |
schedule |
CronSchedule | A programação cron que desencadeou esta execução, caso tenha sido acionada pelo agendador periódico. |
task |
JobTask | A tarefa executada pela execução, se houver. |
cluster_spec |
ClusterSpec | Um instantâneo da configuração do cluster do trabalho no momento em que esta execução foi criada. |
cluster_instance |
ClusterInstance | O cluster usado para essa execução. Se a execução for especificada para utilizar um novo cluster, este campo será definido assim que o serviço de Jobs solicitar um cluster para a execução. |
overriding_parameters |
RunParameters | Os parâmetros usados para esta execução. |
start_time |
INT64 |
A hora em que esta corrida foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para ser executado em um novo cluster, esse é o momento em que a chamada de criação de cluster é emitida. |
end_time |
INT64 |
A hora em que esta corrida terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este campo será definido como 0 se o trabalho ainda estiver em execução. |
setup_duration |
INT64 |
O tempo, em milissegundos, necessário para configurar o cluster. Para execuções executadas em novos clusters, este é o tempo de criação do cluster, para execuções executadas em clusters existentes, esse tempo deve ser muito curto. A duração total da corrida é a soma do setup_duration ,execution_duration e o cleanup_duration . O setup_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de uma tarefa múltipla é o valor dorun_duration campo. |
execution_duration |
INT64 |
O tempo em milissegundos que levou para executar os comandos no JAR ou no bloco de anotações até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. A duração total da corrida é a soma do setup_duration , do execution_duration e docleanup_duration . O execution_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de trabalho multitarefa é o valor do run_duration campo. |
cleanup_duration |
INT64 |
O tempo, em milissegundos, necessário para encerrar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma do setup_duration , execution_duration e do cleanup_duration . O cleanup_duration campo é definido como 0 para execuções de tarefas multitarefas. A duração total de uma execução de trabalho multitarefa é o valor do run_duration campo. |
run_duration |
INT64 |
O tempo em milissegundos que a execução do trabalho e todos os seus reparos levaram para terminar. Este campo é definido apenas para execuções de trabalhos multitarefa e não para execução de tarefas. A duração de uma execução de tarefa é a soma dasetup_duration , execution_duration , e o cleanup_duration . |
trigger |
Tipo de Disparo | O tipo de disparador que ativou esta execução. |
creator_user_name |
STRING |
O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador tiver sido eliminado |
run_page_url |
STRING |
O URL para a página de detalhes da execução. |
Executa a exportação
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/export |
GET |
Exporte e recupere a tarefa de execução do trabalho.
Nota
Apenas as execuções do bloco de notas podem ser exportadas em formato HTML. Exportar execuções de outros tipos falhará.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"views": [
{
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
}
]
}
Para extrair o notebook HTML da resposta JSON, baixe e execute este script Python.
Nota
A estrutura do caderno no objeto __DATABRICKS_NOTEBOOK_MODEL
é codificada.
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico para o processo. Este campo é obrigatório. |
views_to_export |
VistasParaExportar | Quais visualizações deseja exportar (CÓDIGO, PAINÉIS ou TODOS). O padrão é CODE. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
views |
Uma matriz de ViewItem | O conteúdo exportado em formato HTML (um para cada item de exibição). |
Execuções canceladas
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Cancelar uma execução de tarefa. Como a execução é cancelada de forma assíncrona, a execução ainda pode estar em execução quando essa solicitação for concluída. A corrida será encerrada em breve. Se a execução já estiver em um terminal life_cycle_state
, esse método é um no-op.
Este ponto de extremidade valida que o run_id
parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
Substituir:
com o nome da instância de área de trabalho do Azure Databricks , por exemplo, . -
<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um arquivo .netrc .
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução a ser cancelada. Este campo é obrigatório. |
Execuções cancelam tudo
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/cancel-all |
POST |
Cancele todas as execuções ativas de uma tarefa. Como a execução é cancelada de forma assíncrona, isso não impede que novas execuções sejam iniciadas.
Este ponto de extremidade valida que o job_id
parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
Substituir:
-
<databricks-instance>
com o nome da instância de espaço de trabalho do Azure Databricks , por exemploadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
com o ID do trabalho, por exemplo123
.
Este exemplo usa um arquivo .netrc .
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canónico da tarefa para cancelar todas as execuções relacionadas. Este campo é obrigatório. |
As execuções produzem saída
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/get-output |
GET |
Recupere a saída e os metadados de uma única tarefa executada. Quando uma tarefa de notebook retorna um valor por meio da chamada dbutils.notebook.exit(), pode-se usar o endpoint para recuperar esse valor. O Azure Databricks restringe essa API para retornar os primeiros 5 MB da saída. Para retornar um resultado maior, você pode armazenar os resultados do trabalho em um serviço de armazenamento em nuvem.
Este ponto de extremidade valida que o run_id
parâmetro é válido e para parâmetros inválidos retorna o código de status HTTP 400.
As execuções são removidas automaticamente após 60 dias. Se quiser fazer referência a eles além de 60 dias, salve os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, consulte Exportar resultados de execução de trabalho. Para exportar usando a Jobs API, consulte Runs export.
Exemplo
Pedido
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Substituir:
com o nome da instância de espaço de trabalho do Azure Databricks , por exemplo . -
<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico para a execução. Para um trabalho com várias tarefas, este é o run_id de uma execução de tarefa. Consulte A execução obtém saída. Este campo é obrigatório. |
Estrutura de resposta
Nome do Campo | Tipo | Descrição |
---|---|---|
notebook_output OU error |
NotebookOutput OU STRING |
Se notebook_output, a saída de uma tarefa do caderno, se disponível. Uma tarefa do bloco de notas que termina (com êxito ou com uma falha) sem chamardbutils.notebook.exit() é considerado como tendo uma saída vazia. Este campo será definido, mas seu valor de resultado estará vazio.Se houver erro, uma mensagem de erro indicando por que a saída não está disponível. A mensagem não está estruturada e o seu formato exato está sujeito a alterações. |
metadata |
Executar | Todos os detalhes da execução, exceto a sua saída. |
Executa eliminação
Ponto final | Método HTTP |
---|---|
2.0/jobs/runs/delete |
POST |
Exclua uma execução não ativa. Retorna um erro se a execução estiver ativa.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
Substituir:
-
<databricks-instance>
com o nome da instância do espaço de trabalho Azure Databricks, por exemplo,adb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
com o ID da execução, por exemplo123
.
Este exemplo usa um arquivo .netrc .
Estrutura do pedido
Nome do Campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução para a qual recuperar os metadados. |
Estruturas de dados
Nesta secção:
- ABFSSStorageInfo
- Autoescala
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Tarefa
- NotificaçõesDeEmailDeTrabalho
- ConfiguraçõesDeNotificaçãoDeEmprego
- JobSettings
- JobTask
- JobsHealthRule
- Regras de Saúde no Trabalho
- Biblioteca
- MavenLibrary
- NewCluster
- Saída de Notebook
- NotebookTask
- ParamPair
- PipelineTask
- Biblioteca PythonPyPi
- RCranLibrary
- Executar
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- Tipo de Disparo
- ViewItem
- ViewType
- VistasParaExportar
- Webhook
- WebhookNotificações
- WorkspaceStorageInfo
ABFSSStorageInfo
Informações de armazenamento do Azure Data Lake Storage (ADLS).
Nome do Campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do ficheiro. Exemplo: abfss://... |
AutoScale
Intervalo que define o número mínimo e máximo de trabalhadores de cluster.
Nome do Campo | Tipo | Descrição |
---|---|---|
min_workers |
INT32 |
O número mínimo de trabalhadores para o qual o cluster pode ser reduzido quando subutilizado. É também o número inicial de trabalhadores que o cluster terá após a criação. |
max_workers |
INT32 |
O número máximo de trabalhadores para o qual o cluster pode ser dimensionado quando sobrecarregado. max_workers deve ser rigorosamente superior a min_workers. |
AzureAttributes
Atributos definidos durante a criação do cluster relacionados ao Azure.
Nome do Campo | Tipo | Descrição |
---|---|---|
first_on_demand |
INT32 |
Os primeiros first_on_demand nós do cluster serão colocados em instâncias sob demanda. Esse valor deve ser maior que 0, caso contrário, a validação da criação do cluster falhará. Se esse valor for maior ou igual ao tamanho atual do cluster, todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho atual do cluster, first_on_demand os nós serão colocados em instâncias sob demanda e o restante será colocado em instâncias de disponibilidade. Esse valor não afeta o tamanho do cluster e não pode ser mutado durante o tempo de vida de um cluster. |
availability |
AzureAvailability | Tipo de disponibilidade usado para todos os nós subsequentes após os first_on_demand anteriores. |
spot_bid_max_price |
DOUBLE |
O preço máximo de lance usado para instâncias spot do Azure. Você pode definir isso como maior ou igual ao preço à vista atual. Você também pode definir isso como -1 (o padrão), que especifica que a instância não pode ser removida com base no preço. O preço da instância será o preço atual das instâncias spot ou o preço de uma instância padrão. Você pode exibir preços históricos e taxas de remoção no portal do Azure. |
AzureAvailability
O comportamento do tipo de disponibilidade de instâncias no Azure.
Tipo | Descrição |
---|---|
SPOT_AZURE |
Utilize instâncias spot! |
ON_DEMAND_AZURE |
Utilize instâncias sob demanda. |
SPOT_WITH_FALLBACK_AZURE |
De preferência, use instâncias spot, mas recorra a instâncias sob demanda se não for possível adquirir instâncias spot (por exemplo, se os preços spot do Azure estiverem muito altos ou fora da cota). Não se aplica à disponibilidade da piscina. |
ClusterInstance
Identificadores para o cluster e o contexto do Spark usados por uma execução. Esses dois valores juntos identificam um contexto de execução em todos os tempos.
Nome do Campo | Tipo | Descrição |
---|---|---|
cluster_id |
STRING |
O identificador canônico para o cluster usado por uma execução. Este campo está sempre disponível para execuções em clusters existentes. Para execuções em novos clusters, ele fica disponível assim que o cluster é criado. Esse valor pode ser usado para exibir logs navegando até /#setting/sparkui/$cluster_id/driver-logs . Os logs continuarão disponíveis após a conclusão da execução.A resposta não incluirá este campo se o identificador ainda não estiver disponível. |
spark_context_id |
STRING |
Um identificador canónico para o contexto do Spark utilizado numa execução. Este campo será preenchido assim que a execução começar a ser executada. Esse valor pode ser usado para exibir a interface do usuário do Spark navegando até /#setting/sparkui/$cluster_id/$spark_context_id . A interface do usuário do Spark continuará disponível após a conclusão da execução.A resposta não incluirá este campo se o identificador ainda não estiver disponível. |
ClusterLogConf
Caminho para o log de cluster.
Nome do Campo | Tipo | Descrição |
---|---|---|
dbfs |
Localização do log do cluster no DBFS. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
Importante
- Quando se executa um trabalho num novo cluster de trabalhos, o trabalho é tratado como uma carga de trabalho Jobs Compute (automatizada) sujeita aos preços de Jobs Compute.
- Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Nome do Campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se new_cluster, uma descrição de um cluster que será criado para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
libraries |
Um conjunto de Bibliotecas | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
ClusterTag
Definição de etiqueta de cluster.
Tipo | Descrição |
---|---|
STRING |
A chave da tag. A chave deve:
|
STRING |
O valor da etiqueta. O comprimento do valor deve ser menor ou igual a 256 caracteres UTF-8. |
CronSchedule
Nome do Campo | Tipo | Descrição |
---|---|---|
quartz_cron_expression |
STRING |
Uma expressão Cron usando sintaxe Quartz que descreve o cronograma para um trabalho. Consulte Cron Trigger para obter detalhes. Este campo é obrigatório. |
timezone_id |
STRING |
Um ID de fuso horário Java. O horário de uma tarefa será ajustado de acordo com este fuso horário. Consulte Java TimeZone para obter detalhes. Este campo é obrigatório. |
pause_status |
STRING |
Indique se este cronograma está pausado ou não. "PAUSADO" ou "RETOMADO". |
DbfsStorageInfo
Informações de armazenamento DBFS.
Nome do Campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino DBFS. Exemplo: dbfs:/my/path |
Informação de Armazenamento de Ficheiros
Informações de armazenamento de arquivos.
Nota
Esse tipo de local só está disponível para clusters configurados usando o Databricks Container Services.
Nome do Campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do ficheiro. Exemplo: file:/my/file.sh |
InitScriptInfo
Caminho para um script de inicialização.
Para obter instruções sobre como utilizar scripts de inicialização com os Databricks Container Services, consulte Utilizar um script de inicialização.
Nota
O tipo de armazenamento de arquivos (nome do campo: file
) só está disponível para clusters configurados usando os Serviços de Contêiner do Databricks. Consulte FileStorageInfo.
Nome do Campo | Tipo | Descrição |
---|---|---|
workspace OU dbfs (obsoleto)OU abfss |
WorkspaceStorageInfo DbfsStorageInfo (preterido) ABFSSStorageInfo |
Localização do espaço de trabalho do script de inicialização. O destino deve ser fornecido. Por exemplo,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (Preterido) Localização DBFS do script de inicialização. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Local do script de inicialização do Azure Data Lake Storage (ADLS). O destino deve ser fornecido. Por exemplo, { "abfss": { "destination" : "abfss://..." } } |
Emprego
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico para esta tarefa. |
creator_user_name |
STRING |
O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador já tiver sido eliminado. |
run_as |
STRING |
O nome de utilizador sob o qual o trabalho será executado.
run_as baseia-se nas configurações atuais do trabalho e é atribuído ao criador do trabalho se o controlo de acesso ao trabalho estiver desativado, ou à permissão is_owner se o controlo de acesso ao trabalho estiver ativado. |
settings |
JobSettings | Configurações para este trabalho e todos os seus processamentos. Essas configurações podem ser atualizadas usando o resetJob método. |
created_time |
INT64 |
A hora em que este trabalho foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC). |
NotificaçõesDeEmailDeEmprego
Importante
Os campos on_start, on_success e on_failure aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.
Nome do Campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de STRING |
Uma lista de endereços de e-mail a serem notificados quando uma execução começar. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. |
on_success |
Uma matriz de STRING |
Uma lista de endereços de e-mail a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um 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 matriz de STRING |
Uma lista de endereços de e-mail a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED , FAILED , ou TIMED_OUT estado_resultado. Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas. |
on_duration_warning_threshold_exceeded |
Uma matriz de STRING |
Uma lista de endereços de e-mail a serem notificados quando a duração de uma execução exceder o limite especificado para a RUN_DURATION_SECONDS métrica no health campo. Se nenhuma regra para a RUN_DURATION_SECONDS métrica for especificada no health campo para o trabalho, as notificações não serão enviadas. |
no_alert_for_skipped_runs |
BOOL |
Caso seja verdade, não envie e-mails para os destinatários especificados em on_failure se a execução for ignorada. |
Nome do Campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução começa. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_start propriedade. |
on_success |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um 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. Um máximo de 3 destinos podem ser especificados para a on_success propriedade. |
on_failure |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED , FAILED , ou TIMED_OUT estado_resultado. Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_failure propriedade. |
on_duration_warning_threshold_exceeded |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para a métrica RUN_DURATION_SECONDS no campo health . Um máximo de 3 destinos podem ser especificados para a on_duration_warning_threshold_exceeded propriedade. |
Configurações de Notificação de Trabalho
Nome do Campo | Tipo | Descrição |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Se verdadeiro, não envie notificações para destinatários especificados em on_failure se a execução for ignorada. |
no_alert_for_canceled_runs |
BOOL |
Se verdadeiro, não envie notificações para os destinatários especificados em on_failure se a execução for cancelada. |
alert_on_last_attempt |
BOOL |
Se verdadeiro, não envie notificações para os destinatários especificados em on_start para as execuções repetidas e não envie notificações para os destinatários especificados em on_failure até a última repetição da execução. |
Configurações de Trabalho
Importante
- Quando se executa um trabalho num novo cluster de tarefas, o trabalho é tratado como uma carga de trabalho Jobs Compute (automatizado) sujeito à tabela de preços de Jobs Compute.
- Quando um trabalho é executado num cluster multiuso existente, é tratado como uma carga de trabalho interativa de Computação Multiuso, sujeita aos preços da Computação Multiuso.
Configurações para uma tarefa. Essas configurações podem ser atualizadas usando o resetJob
método.
Nome do Campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se existing_cluster_id, a ID de um cluster existente que será usado para todas as execuções deste trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster se ele parar de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se new_cluster, uma descrição de um cluster que será criado para cada execução. Se especificar um PipelineTask, esse campo pode estar vazio. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task. Se spark_jar_task, indica que esse trabalho deve executar um JAR. Se spark_python_task, indica que esse trabalho deve executar um arquivo Python. Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark. Se for pipeline_task, indica que este trabalho deverá executar um pipeline de DLT. Se run_job_task, indica que esta tarefa deve executar outra tarefa. |
name |
STRING |
Um nome opcional para o trabalho. O valor predefinido é Untitled . |
libraries |
Um conjunto de Bibliotecas | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
email_notifications |
NotificaçõesDeEmailDeTrabalho | Um conjunto opcional de endereços de e-mail que serão notificados quando as execuções deste trabalho começarem ou forem concluídas, bem como quando este trabalho for excluído. O comportamento padrão é não enviar e-mails. |
webhook_notifications |
WebhookNotificações | Um conjunto opcional de destinos do sistema para notificar quando as execuções deste trabalho começam, são concluídas ou falham. |
notification_settings |
ConfiguraçõesDeNotificaçãoDeEmprego | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para este trabalho. |
timeout_seconds |
INT32 |
Um tempo limite opcional aplicado a cada execução desta tarefa. O comportamento padrão é não ter tempo limite. |
max_retries |
INT32 |
Um número máximo opcional de vezes para repetir uma execução malsucedida. Uma execução é considerada malsucedida se for concluída com o FAILED result_state ouINTERNAL_ERROR life_cycle_state . O valor -1 significa repetir indefinidamente e o valor 0 significa nunca mais tentar. O comportamento padrão é nunca mais tentar. |
min_retry_interval_millis |
INT32 |
Um intervalo mínimo opcional em milissegundos entre as tentativas. O comportamento padrão é que as tentativas malsucedidas sejam imediatamente repetidas. |
retry_on_timeout |
BOOL |
Uma política opcional para especificar se uma tarefa deve ser repetida quando ocorrer um tempo limite. O comportamento padrão é não repetir quando ocorrer um tempo limite. |
schedule |
CronSchedule | Um cronograma periódico opcional para este trabalho. O comportamento padrão é que o trabalho só será executado quando acionado clicando em "Executar agora" na interface do usuário de trabalhos ou enviando uma solicitação de API pararunNow . |
max_concurrent_runs |
INT32 |
Um número máximo opcional permitido de execuções simultâneas do trabalho. Defina esse valor se quiser ser capaz de executar várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você acionar seu trabalho em um cronograma frequente e quiser permitir que execuções consecutivas se sobreponham umas às outras, ou se quiser acionar várias execuções que diferem por seus parâmetros de entrada. Essa configuração afeta apenas novas execuções. Por exemplo, suponha que a simultaneidade do trabalho é 4 e há 4 execuções ativas simultâneas. Em seguida, definir a simultaneidade como 3 não interromperá nenhuma das execuções ativas. No entanto, a partir de então, novas corridas serão ignoradas, a menos que haja menos de 3 corridas ativas. Este valor não pode exceder 1000. Definir este valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento padrão é permitir apenas 1 execução simultânea. |
health |
Regras de Saúde no Trabalho | Um conjunto opcional de regras de integridade definidas para o trabalho. |
Tarefa de Trabalho
Nome do Campo | Tipo | Descrição |
---|---|---|
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Se notebook_task, indica que este trabalho deve executar um caderno. Este campo não pode ser especificado em conjugação com spark_jar_task. Caso spark_jar_task, indica que este trabalho deve executar um JAR. Se spark_python_task, indica que esse trabalho deve executar um arquivo Python. Se spark_submit_task, indica que esse trabalho deve ser iniciado pelo script de envio do spark. Se for pipeline_task, indica que este trabalho deve executar um pipeline de DLT. Se run_job_task, indica que esta tarefa deve executar outra tarefa. |
Regra de Saúde no Emprego
Nome do Campo | Tipo | Descrição |
---|---|---|
metric |
STRING |
Específica a métrica de saúde que está a ser avaliada para uma determinada regra de saúde. Os valores válidos são RUN_DURATION_SECONDS . |
operator |
STRING |
Especifica o operador usado para comparar o valor da métrica de integridade com o limite especificado. Os valores válidos são GREATER_THAN . |
value |
INT32 |
Especifica o valor limite que a métrica de integridade deve atender para estar em conformidade com a regra de integridade. |
RegrasDeSaúdeNoTrabalho
Nome do Campo | Tipo | Descrição |
---|---|---|
rules |
Uma matriz de JobsHealthRule | Um conjunto opcional de regras de integridade que pode ser definido para um trabalho. |
Biblioteca
Nome do Campo | Tipo | Descrição |
---|---|---|
jar OU egg OU whl OUpypi OU maven OU cran |
STRING OU STRING OU STRING OU PythonPyPiLibrary OU MavenLibrary OU RCranLibrary |
Se for o caso de um ficheiro JAR, a URI do ficheiro JAR a ser instalada. DBFS e ADLS (abfss ) URIs são suportados. Por exemplo: { "jar": "dbfs:/mnt/databricks/library.jar" } ou{ "jar": "abfss://<container-path>/library.jar" } . Se o ADLS for usado, verifique se o cluster tem acesso de leitura na biblioteca.Se for um ovo, URI do ovo que será instalado. Há suporte para URIs DBFS e ADLS. Por exemplo: { "egg": "dbfs:/my/egg" } ou{ "egg": "abfss://<container-path>/egg" } .Se for um whl, URI do wheel ou do ficheiro zipado wheels a instalar. Há suporte para URIs DBFS e ADLS. Por exemplo: { "whl": "dbfs:/my/whl" } ou{ "whl": "abfss://<container-path>/whl" } . Se o ADLS for usado, verifique se o cluster tem acesso de leitura na biblioteca. Além disso, o nome do wheel arquivo precisa usar a convenção correta. Se arquivos comprimidos wheels devem ser instalados, o sufixo do nome do ficheiro deverá ser .wheelhouse.zip .Se pypi, especificação de uma biblioteca PyPI a ser instalada. Especificar o repo campo é opcional e, se não for especificado, o índice pip padrão é usado. Por exemplo:{ "package": "simplejson", "repo": "https://my-repo.com" } Se maven, especificação de uma biblioteca Maven a ser instalada. Por exemplo: { "coordinates": "org.jsoup:jsoup:1.7.2" } Se for o CRAN, especificação de uma biblioteca CRAN a ser instalada. |
MavenLibrary
Nome do Campo | Tipo | Descrição |
---|---|---|
coordinates |
STRING |
Coordenadas Maven no estilo Gradle. Por exemplo: org.jsoup:jsoup:1.7.2 . Este campo é obrigatório. |
repo |
STRING |
Repositório Maven para instalar o pacote Maven. Caso seja omitido, serão pesquisados tanto o repositório central do Maven como os pacotes do Spark. |
exclusions |
Uma matriz de STRING |
Lista de dependências a excluir. Por exemplo: ["slf4j:slf4j", "*:hadoop-client"] .Exclusões de dependência Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
NovoCluster
Nome do Campo | Tipo | Descrição |
---|---|---|
num_workers OU autoscale |
INT32 OU AutoScale |
Se num_workers, número de nós de trabalho que esse cluster deve ter. Um cluster tem um driver Spark e executores num_workers, totalizando num_workers + 1 nós Spark. Nota: Ao ler as propriedades de um cluster, este campo reflete o número desejado de trabalhadores em vez do número atual real de trabalhadores. Por exemplo, se um cluster for redimensionado de 5 para 10 nodos, este campo será imediatamente atualizado para refletir o tamanho alvo de 10 nodos, enquanto os trabalhadores listados em spark_info aumentam gradualmente de 5 para 10 à medida que os novos nós são provisionados. Se o dimensionamento automático estiver ativado, são necessários parâmetros para ajustar automaticamente os clusters para cima e para baixo com base na carga. |
spark_version |
STRING |
A versão Spark do cluster. Uma lista de versões disponíveis do Spark pode ser recuperada usando a chamada GET 2.0/clusters/spark-versions. Este campo é obrigatório. |
spark_conf |
SparkConfPair | Um objeto que contém um conjunto de pares opcionais de chave-valor de configuração do Spark especificados pelo usuário. Você também pode passar uma sequência de opções JVM extras para o driver e os executores viaspark.driver.extraJavaOptions e spark.executor.extraJavaOptions respetivamente.Exemplos de configurações do Spark: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} ou{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"} |
node_type_id |
STRING |
Este campo codifica, através de um único valor, os recursos disponíveis para cada um dos nós do Spark neste cluster. Por exemplo, os nós do Spark podem ser provisionados e otimizados para cargas de trabalho de memória ou computação intensiva. Uma lista de tipos de nó disponíveis pode ser recuperada usando a chamada GET 2.0/clusters/list-node-types. Um dos seguintes é obrigatório: este campo, o campo instance_pool_id ou uma política de cluster que especifique um ID de tipo de nó ou ID de pool de instâncias. |
driver_node_type_id |
STRING |
O tipo de nó do driver do Spark. Este campo é opcional; Se não estiver definido, o tipo de nó do driver será definido como o mesmo valor node_type_id definido acima. |
custom_tags |
ClusterTag | Um objeto que contém um conjunto de tags para recursos de cluster. Databricks etiqueta todos os recursos de cluster (como VMs) com estas etiquetas, além de default_tags. Nota:
|
cluster_log_conf |
ClusterLogConf | A configuração para entregar logs do Spark a um destino de armazenamento de longo prazo. Apenas um destino pode ser especificado para um cluster. Se a configuração for definida, os logs serão entregues ao destino a cada 5 mins . O destino dos logs de driver é <destination>/<cluster-id>/driver , enquanto o destino dos logs do executor é <destination>/<cluster-id>/executor . |
init_scripts |
Uma matriz de InitScriptInfo | A configuração para armazenar scripts de inicialização. Qualquer número de scripts pode ser especificado. Os scripts são executados sequencialmente na ordem fornecida. Se cluster_log_conf for especificado, os logs do script de inicialização serão enviados para<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | Um objeto que contém um conjunto de pares de chave-valor de variáveis de ambiente opcionais especificadas pelo utilizador. O par chave-valor do formulário (X,Y) é exportado como está (ou seja,export X='Y' ) ao lançar o motorista e os trabalhadores.Para especificar um conjunto adicional de SPARK_DAEMON_JAVA_OPTS , recomendamos anexá-los a $SPARK_DAEMON_JAVA_OPTS como mostrado no exemplo a seguir. Isso garante que todas as variáveis ambientais gerenciadas por databricks padrão também sejam incluídas.Exemplo de variáveis de ambiente do Spark: {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} ou{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"} |
enable_elastic_disk |
BOOL |
Autoscaling Local Storage: quando ativado, esse cluster adquire dinamicamente espaço em disco adicional quando seus trabalhadores do Spark estão com pouco espaço em disco. Consulte Ativar armazenamento local de escalonamento automático para obter detalhes. |
driver_instance_pool_id |
STRING |
O ID opcional do pool de instâncias a ser usado para o nó condutor. Você também deve especificar instance_pool_id . Consulte a API de Pools de Instâncias para obter detalhes. |
instance_pool_id |
STRING |
O ID opcional do conjunto de instâncias a ser usado para os nós do cluster. Se driver_instance_pool_id estiver presente,instance_pool_id é usado apenas para nodos de trabalho. Caso contrário, é utilizado tanto para o nó condutor quanto para os nós de trabalho. Consulte a API de Pools de Instâncias para obter detalhes. |
Saída de Notebook
Nome do Campo | Tipo | Descrição |
---|---|---|
result |
STRING |
O valor passado para dbutils.notebook.exit(). O Azure Databricks restringe essa API para retornar os primeiros 1 MB do valor. Para um resultado maior, seu trabalho pode armazenar os resultados em um serviço de armazenamento em nuvem. Este campo estará ausente se dbutils.notebook.exit() nunca tiver sido chamado. |
truncated |
BOOLEAN |
Se o resultado foi truncado ou não. |
NotebookTask
Todas as células de saída estão sujeitas ao tamanho de 8MB. Se a saída de uma célula tiver um tamanho maior, o resto da execução será cancelada e a execução será marcada como falha. Nesse caso, parte do conteúdo produzido por outras células também pode estar em falta.
Se precisar de ajuda para encontrar a célula que está além do limite, execute o notebook em um cluster de uso geral e use esta técnica de salvamento automático do notebook.
Nome do Campo | Tipo | Descrição |
---|---|---|
notebook_path |
STRING |
O caminho absoluto do notebook a ser executado no espaço de trabalho do Azure Databricks. Este caminho deve começar com uma barra. Este campo é obrigatório. |
revision_timestamp |
LONG |
O carimbo de data/hora da revisão do caderno. |
base_parameters |
Um mapa de ParamPair | Parâmetros básicos a serem usados para cada execução deste trabalho. Se a execução for iniciada por uma chamada para run-now com parâmetros especificados, os dois mapas de parâmetros serão mesclados. Se a mesma chave for especificada em base_parameters e em run-now , o valor de run-now será usado.Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. Se o notebook aceitar um parâmetro que não esteja especificado nos parâmetros do base_parameters trabalho ou nos parâmetros de run-now substituição, será usado o valor padrão do notebook.Recupere esses parâmetros em um bloco de anotações usando dbutils.widgets.get. |
ParamPair
Parâmetros baseados em nome para trabalhos que executam tarefas em notebooks.
Importante
Os campos nesta estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.
Tipo | Descrição |
---|---|
STRING |
Nome do parâmetro. Passe para dbutils.widgets.get para recuperar o valor. |
STRING |
Valor do parâmetro. |
PipelineTask
Nome do Campo | Tipo | Descrição |
---|---|---|
pipeline_id |
STRING |
O nome completo da tarefa da pipeline DLT que deve ser executada. |
Biblioteca PythonPyPi
Nome do Campo | Tipo | Descrição |
---|---|---|
package |
STRING |
O nome do pacote PyPI a ser instalado. Uma especificação de versão exata opcional também é suportada. Exemplos: simplejson e simplejson==3.8.0 . Este campo é obrigatório. |
repo |
STRING |
O repositório onde o pacote pode ser encontrado. Se não for especificado, o índice pip padrão será usado. |
RCranLibrary
Nome do Campo | Tipo | Descrição |
---|---|---|
package |
STRING |
O nome do pacote CRAN a ser instalado. Este campo é obrigatório. |
repo |
STRING |
O repositório onde o pacote pode ser encontrado. Se não for especificado, o repositório CRAN padrão será usado. |
Executar
Todas as informações sobre uma execução, exceto sua saída. A saída pode ser recuperada separadamente com o getRunOutput
método.
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador único da tarefa que contém esta execução. |
run_id |
INT64 |
O identificador canônico da execução. Este identificador é único em todas as execuções de todos os trabalhos. |
creator_user_name |
STRING |
O nome de usuário do criador. Este campo não será incluído na resposta se o utilizador já tiver sido eliminado. |
number_in_job |
INT64 |
O número sequencial desta execução entre todas as execuções da tarefa. Este valor começa em 1. |
original_attempt_run_id |
INT64 |
Se esta execução for uma repetição de uma tentativa de execução anterior, este campo contém o run_id da tentativa original; caso contrário, é o mesmo que o run_id. |
state |
RunState | O resultado e os estados de ciclo de vida da execução. |
schedule |
CronSchedule | A programação cron que desencadeou esta execução, se tiver sido desencadeada pelo agendador periódico. |
task |
JobTask | A tarefa realizada pela corrida, se houver. |
cluster_spec |
ClusterSpec | Um instantâneo da configuração do cluster do trabalho no momento em que esta execução foi criada. |
cluster_instance |
ClusterInstance | O cluster usado para essa execução. Se a execução for especificada para utilizar um novo cluster, este campo será definido assim que o serviço de Jobs solicitar um cluster para a execução. |
overriding_parameters |
RunParameters | Os parâmetros usados para esta execução. |
start_time |
INT64 |
A hora em que esta corrida foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este pode não ser o momento em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para ser executado em um novo cluster, esse é o momento em que a chamada de criação de cluster é emitida. |
setup_duration |
INT64 |
O tempo necessário para configurar o cluster em milissegundos. Para execuções executadas em novos clusters, este é o tempo de criação do cluster, para execuções executadas em clusters existentes, esse tempo deve ser muito curto. |
execution_duration |
INT64 |
O tempo em milissegundos que levou para executar os comandos no JAR ou no bloco de anotações até que eles fossem concluídos, falhassem, expirassem, fossem cancelados ou encontrassem um erro inesperado. |
cleanup_duration |
INT64 |
O tempo, em milissegundos, necessário para encerrar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma da duração de configuração, duração de execução e duração de limpeza. |
end_time |
INT64 |
A hora em que esta corrida terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Este campo será definido como 0 se o trabalho ainda estiver em execução. |
trigger |
Tipo de Disparo | O tipo de gatilho que disparou esta execução. |
run_name |
STRING |
Um nome opcional para a execução. O valor predefinido é Untitled . O comprimento máximo permitido é de 4096 bytes na codificação UTF-8. |
run_page_url |
STRING |
O URL para a página de detalhes da execução. |
run_type |
STRING |
O tipo de corrida.
|
attempt_number |
INT32 |
O número de sequência dessa tentativa de execução para uma execução de trabalho acionada. A tentativa inicial de uma corrida tem um número de tentativa de 0. Se a tentativa de execução inicial falhar e o trabalho tiver uma política de repetição (max_retries > 0), as execuções subsequentes serão criadas com um original_attempt_run_id ID da tentativa original e um incremento attempt_number . As execuções são repetidas apenas até serem bem-sucedidas, e o valor máximo de attempt_number é o mesmo que o valor de max_retries para o trabalho. |
RunJobTask
Nome do Campo | Tipo | Descrição |
---|---|---|
job_id |
INT32 |
Identificador exclusivo do trabalho a ser executado. Este campo é obrigatório. |
RunLifeCycleState
O estado do ciclo de vida de uma corrida. As transições de estado permitidas são:
-
QUEUED
->PENDING
-
PENDING
->RUNNING
->TERMINATING
->TERMINATED
-
PENDING
->SKIPPED
-
PENDING
->INTERNAL_ERROR
-
RUNNING
->INTERNAL_ERROR
-
TERMINATING
->INTERNAL_ERROR
Estado | Descrição |
---|---|
QUEUED |
A execução foi acionada, mas está em fila porque atingiu um dos seguintes limites:
O trabalho ou o processo devem ter o enfileiramento ativado antes de poder atingir este estado. |
PENDING |
A execução foi acionada. Se as execuções simultâneas máximas configuradas do trabalho já forem atingidas, a execução fará a transição imediata para o SKIPPED estado sem preparar nenhum recurso. Por outro lado, a preparação do cluster e a execução estão em andamento. |
RUNNING |
A tarefa desta execução está a ser concluída. |
TERMINATING |
A tarefa desta execução foi concluída e o cluster e o contexto de execução estão sendo limpos. |
TERMINATED |
A tarefa desta execução foi concluída e o cluster e o contexto de execução foram limpos. Este estado é terminal. |
SKIPPED |
Essa execução foi abortada porque uma execução anterior do mesmo trabalho já estava ativa. Este estado é terminal. |
INTERNAL_ERROR |
Um estado excecional que indica uma falha no serviço de Jobs, como uma falha de rede durante um longo período. Se uma execução em um novo cluster terminar no estado INTERNAL_ERROR , o serviço de tarefas encerrará o cluster assim que possível. Este estado é terminal. |
RunParameters
Parâmetros para esta execução. Apenas um dos jar_params, python_params
ou notebook_params deve ser especificado na run-now
solicitação, dependendo do tipo de tarefa de trabalho.
Os trabalhos que utilizam a tarefa JAR do Spark ou a tarefa Python usam uma lista de parâmetros com base em posição, enquanto os trabalhos com tarefas de notebook usam um mapa de chave-valor.
Nome do Campo | Tipo | Descrição |
---|---|---|
jar_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas JAR do Spark, por exemplo. "jar_params": ["john doe", "35"] Os parâmetros serão usados para invocar a função principal da classe principal especificada na tarefa JAR do Spark. Se não for especificado no run-now , ele será definido como uma lista vazia por padrão. jar_params não pode ser especificado em conjunto com notebook_params. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"jar_params":["john doe","35"]} Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. |
notebook_params |
Um mapa de ParamPair | Um mapa de associação de chaves a valores para trabalhos com tarefas de notebook, por exemplo,"notebook_params": {"name": "john doe", "age": "35"} . O mapa é passado para o bloco de notas e é acessível através da função dbutils.widgets.get .Se não for especificado no run-now , a execução acionada usa os parâmetros base do trabalho.notebook_params não pode ser especificado em conjunto com jar_params. Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. A representação em JSON deste campo (ou seja, {"notebook_params":{"name":"john doe","age":"35"}} ) não pode exceder 10.000 bytes. |
python_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas Python, por exemplo. "python_params": ["john doe", "35"] Os parâmetros são passados para o arquivo Python como parâmetros de linha de comando. Caso seja especificado no run-now , isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]} Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis. |
spark_submit_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefa de envio em Spark, por exemplo:"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Os parâmetros são passados para o script spark-submit como parâmetros de linha de comando. Caso seja especificado no run-now , isso substituiria os parâmetros definidos na configuração do trabalho. A representação JSON deste campo (ou seja, ) não pode exceder 10.000 bytes. {"python_params":["john doe","35"]} Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis. |
EstadoDoResultadoDeExecução
O estado do resultado da execução.
- Se
life_cycle_state
=TERMINATED
: caso a execução tenha tido uma tarefa, o resultado é garantido estar disponível e indica o resultado dessa tarefa. - Se
life_cycle_state
=PENDING
,RUNNING
ouSKIPPED
, o estado do resultado não estiver disponível. - If
life_cycle_state
=TERMINATING
or lifecyclestate =INTERNAL_ERROR
: o estado do resultado estará disponível se a execução tiver uma tarefa e tiver conseguido iniciá-la.
Uma vez disponível, o estado do resultado nunca muda.
Estado | Descrição |
---|---|
SUCCESS |
A tarefa foi concluída com êxito. |
FAILED |
A tarefa foi concluída com um erro. |
TIMEDOUT |
A corrida foi interrompida depois de atingir o tempo limite. |
CANCELED |
A execução foi cancelada a pedido do usuário. |
RunState
Nome do Campo | Tipo | Descrição |
---|---|---|
life_cycle_state |
RunLifeCycleState | Uma descrição da localização atual de uma corrida no ciclo de vida da corrida. Este campo está sempre disponível na resposta. |
result_state |
RunResultState | O estado do resultado de uma corrida. Se não estiver disponível, a resposta não incluirá este campo. Consulte RunResultState para obter detalhes sobre a disponibilidade de result_state. |
user_cancelled_or_timedout |
BOOLEAN |
Se uma execução foi cancelada manualmente por um usuário ou pelo agendador porque a execução expirou. |
state_message |
STRING |
Uma mensagem descritiva para o estado atual. Este campo não está estruturado e o seu formato exato está sujeito a alterações. |
SparkConfPair
Pares chave-valor de configuração do Spark.
Tipo | Descrição |
---|---|
STRING |
Um nome de propriedade de configuração. |
STRING |
O valor da propriedade de configuração. |
SparkEnvPair
Pares chave-valor de variáveis do ambiente Spark.
Importante
Ao especificar variáveis de ambiente em um cluster de trabalho, os campos nessa estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não-ASCII retornará um erro. Exemplos de caracteres inválidos e não ASCII são chineses, kanjis japoneses e emojis.
Tipo | Descrição |
---|---|
STRING |
Um nome de variável de ambiente. |
STRING |
O valor da variável de ambiente. |
SparkJarTask
Nome do Campo | Tipo | Descrição |
---|---|---|
jar_uri |
STRING |
Obsoleto desde 04/2016. Em vez disso, forneça um jar através do campo libraries . Para obter um exemplo, consulte Criar. |
main_class_name |
STRING |
O nome completo da classe que contém o método principal a ser executado. Essa classe deve estar contida em um JAR fornecido como uma biblioteca. O código deve ser usado SparkContext.getOrCreate para obter um contexto Spark, caso contrário, as execuções do trabalho falharão. |
parameters |
Uma matriz de STRING |
Parâmetros passados para o método principal. Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. |
SparkPythonTask
Nome do Campo | Tipo | Descrição |
---|---|---|
python_file |
STRING |
O URI do arquivo Python a ser executado. Caminhos DBFS são suportados. Este campo é obrigatório. |
parameters |
Uma matriz de STRING |
Parâmetros de linha de comando passados para o arquivo Python. Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. |
SparkSubmitTask
Importante
- Você pode invocar tarefas de envio do Spark somente em novos clusters.
- Na especificação new_cluster,
libraries
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 Azure Databricks, não é possível especificá-los em parâmetros. - Por padrão, o trabalho de envio do Spark usa toda a memória disponível (excluindo a memória reservada para os serviços do Azure Databricks). Você pode ajustar
--driver-memory
e--executor-memory
para um valor menor para deixar algum espaço para uso fora da pilha. - Os
--jars
argumentos ,--py-files
,--files
suportam caminhos DBFS.
Por exemplo, supondo que o JAR seja carregado no DBFS, você pode executar SparkPi
definindo os seguintes parâmetros.
{
"parameters": ["--class", "org.apache.spark.examples.SparkPi", "dbfs:/path/to/examples.jar", "10"]
}
Nome do Campo | Tipo | Descrição |
---|---|---|
parameters |
Uma matriz de STRING |
Parâmetros passados na linha de comando para o Spark Submit. Use O que é uma referência de valor dinâmico? para definir parâmetros contendo informações sobre execuções de trabalho. |
Tipo de gatilho
Estes são os tipos de gatilhos que podem iniciar uma corrida.
Tipo | Descrição |
---|---|
PERIODIC |
Agendas que acionam execuções periodicamente, como um agendador cron. |
ONE_TIME |
Disparadores únicos que ativam uma única execução. Isso ocorre quando você acionou uma única execução sob demanda por meio da interface do usuário ou da API. |
RETRY |
Indica uma execução que é acionada como uma nova tentativa de uma execução com falha anterior. Isso ocorre quando você solicita a execução do trabalho novamente em caso de falhas. |
ViewItem
O conteúdo exportado está em formato HTML. Por exemplo, se a exibição a ser exportada for painéis, é retornada uma cadeia de caracteres HTML para cada painel.
Nome do Campo | Tipo | Descrição |
---|---|---|
content |
STRING |
Conteúdo da vista. |
name |
STRING |
Nome do item de exibição. No caso da visualização de código, o nome do notebook. No caso da visualização do painel, o nome do painel. |
type |
ViewType | Tipo do item de exibição. |
TipoDeVista
Tipo | Descrição |
---|---|
NOTEBOOK |
Item de visualização do bloco de notas. |
DASHBOARD |
Item de visualização do painel. |
VistasParaExportar
Visualização para exportação: código, todos os painéis ou tudo.
Tipo | Descrição |
---|---|
CODE |
Visualização de código do bloco de notas. |
DASHBOARDS |
Todas as visões do painel do notebook. |
ALL |
Todas as vistas do caderno. |
Webhook
Nome do Campo | Tipo | Descrição |
---|---|---|
id |
STRING |
Identificador que faz referência a um destino de notificação do sistema. Este campo é obrigatório. |
Notificações de Webhook
Nome do Campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução começa. Se não for especificado na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_start propriedade. |
on_success |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução é considerada concluída com êxito se terminar com um 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. Um máximo de 3 destinos podem ser especificados para a on_success propriedade. |
on_failure |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Considera-se que uma execução foi concluída sem êxito se terminar com um INTERNAL_ERROR life_cycle_state ou um SKIPPED , FAILED , ou TIMED_OUT result_state . Se isso não for especificado na criação de trabalho, redefinição ou atualização, a lista estará vazia e as notificações não serão enviadas. Um máximo de 3 destinos podem ser especificados para a on_failure propriedade. |
on_duration_warning_threshold_exceeded |
Uma matriz de Webhook | Uma lista opcional de destinos do sistema a serem notificados quando a duração de uma execução exceder o limite especificado para a métrica RUN_DURATION_SECONDS no campo health . Um máximo de 3 destinos podem ser especificados para a on_duration_warning_threshold_exceeded propriedade. |
Informações de Armazenamento do Espaço de Trabalho
Informações de armazenamento do espaço de trabalho.
Nome do Campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do ficheiro. Exemplo: /Users/someone@domain.com/init_script.sh |