API de Trabalhos 2.0
Importante
Este artigo documenta a versão 2.0 da API de Jobs. Entretanto, o Databricks recomenda utilizar a API de Trabalho 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 Atualizações da API de Trabalhos 2.0 para 2.1.
A API de Trabalhos permite que você crie, edite e exclua trabalhos. O tamanho máximo permitido de uma solicitação na API de Trabalhos é de 10 MB.
Para obter detalhes sobre as atualizações da API de trabalhos que dão suporte à orquestração de várias tarefas com trabalhos do Azure Databricks, consulte Atualizações da API de trabalhos 2.0 para a 2.1.
Aviso
Você nunca deve codificar segredos ou armazená-los em texto sem formatação. Use a API de Segredos para gerenciar segredos na CLI do Databricks. Para referenciar segredos em notebooks e trabalhos, use o Utilitário de segredos (dbutils.secrets).
Observação
Se você receber um erro de nível 500 ao fazer solicitações à API de Trabalhos, o Databricks recomendará repetir as solicitações por até 10 minutos (com um intervalo mínimo de 30 segundos entre as novas tentativas).
Importante
Para acessar as APIs REST do Databricks, é necessário autenticar-se.
Criar
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/create |
POST |
Criar um novo trabalho.
Exemplo
Este exemplo cria um trabalho que executa uma tarefa JAR às 22:15 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"
}
}
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.- O conteúdo de
create-job.json
com campos apropriados para sua solução.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"job_id": 1
}
Estrutura de solicitação
Importante
- Quando você executa um trabalho em um novo cluster de trabalhos, ele será tratado como uma carga de trabalho Computação de Trabalhos (automatizada) sujeita aos preços da Computação de Trabalhos.
- Quando você executa um trabalho em um cluster de uso geral existente, ele é tratado como uma carga de trabalho Computação para Todas as Finalidades (interativa) sujeita aos preços da Computação para Todas as Finalidades.
Nome do campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se for existing_cluster_id, será o ID de um cluster existente que será usado para todas as execuções desse trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster caso ele pare de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se for new_cluster, será uma descrição de um cluster que será criado para cada execução. Se você estiver especificando uma PipelineTask, esse campo poderá ficar 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 for notebook_task, isso indicará que esse trabalho deve executar um notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task. Se for spark_jar_task, isso indicará que esse trabalho deve executar um JAR. Se for spark_python_task, isso indicará que esse trabalho deve executar um arquivo Python. Se for spark_submit_task, isso indicará que esse trabalho deve ser lançado pelo script de envio do Spark. Se for pipeline_task, isso indicará que esse trabalho deve executar um pipeline do Delta Live Tables. Se for run_job_task, isso indica que esse trabalho deve executar outro trabalho. |
name |
STRING |
Um nome opcional para o trabalho. O valor padrão é Untitled . |
libraries |
Uma matriz de Biblioteca | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
email_notifications |
JobEmailNotifications | Um conjunto opcional de endereços de email notificados quando as execuções desse trabalho começam e são concluídas e quando esse trabalho é excluído. O comportamento padrão é não enviar emails. |
webhook_notifications |
WebhookNotifications | 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 |
JobNotificationSettings | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para esse trabalho. |
timeout_seconds |
INT32 |
Um tempo limite opcional aplicado a cada execução desse trabalho. O comportamento padrão é sem tempo limite. |
max_retries |
INT32 |
Um número máximo opcional de repetições de uma tentativa malsucedida. Uma execução será considerada malsucedida se for concluída com o result_state FAILED ouINTERNAL_ERROR life_cycle_state . O valor -1 significa novas tentativas indefinidamente; o valor 0 significa nunca tentar novamente. O comportamento padrão é nunca tentar novamente. |
min_retry_interval_millis |
INT32 |
Um intervalo mínimo opcional em milissegundos entre o início da operação com falha e a execução da tentativa subsequente. O comportamento padrão é que as execuções malsucedidas sejam imediatamente tentadas novamente. |
retry_on_timeout |
BOOL |
Uma política opcional para especificar se deve haver nova tentativa de um trabalho quando ele atinge o tempo limite. O comportamento padrão é não tentar novamente no tempo limite. |
schedule |
CronSchedule | Um agendamento periódico opcional para esse trabalho. O comportamento padrão é o trabalho ser executado quando disparado pelo clique em Executar agora na interface do usuário Trabalhos ou pelo envio de uma solicitação de API a runNow . |
max_concurrent_runs |
INT32 |
Um número máximo permitido opcional de execuções simultâneas do trabalho. Defina esse valor se você quiser ser capaz de fazer várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você dispara seu trabalho em um agendamento frequente e quer permitir que as execuções consecutivas se sobreponham ou se quer disparar várias execuções que tenham diferença nos parâmetros de entrada. Essa configuração afeta somente novas execuções. Por exemplo, digamos que a simultaneidade do trabalho seja quatro e existem quatro execuções ativas simultâneas. A definição da simultaneidade como 3 não desativará nenhuma das execuções ativas. No entanto, a partir daí, novas execuções serão ignoradas, a menos que haja menos de três execuções ativas. O valor não pode exceder 1000. A definição desse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento padrão é permitir apenas uma execução simultânea. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho recém-criado. |
Lista
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/list |
GET |
Liste todos os trabalhos.
Exemplo
Solicitação
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Substitua <databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemplo adb-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 Trabalho | A lista de trabalhos. |
Excluir
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/delete |
POST |
Exclua um trabalho e envie um email aos endereços especificados em JobSettings.email_notifications
. Nenhuma ação ocorrerá se o trabalho já tiver sido removido. Depois que o trabalho for removido, seus detalhes e seu histórico de execução deixarão de ficar visíveis na interface do usuário Trabalhos ou na API. É garantido que o trabalho será removido após a conclusão dessa solicitação. No entanto, as execuções que estavam ativas antes do recebimento dessa solicitação ainda poderão estar ativas. Elas serão terminadas de forma assíncrona.
Exemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
com o ID do trabalho, por exemplo,123
.
Este exemplo usa um arquivo .netrc.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho a ser excluído. Esse campo é obrigatório. |
Get
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/get |
GET |
Recuperar informações sobre um único trabalho.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
com o ID do trabalho, por exemplo,123
.
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 de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho sobre o qual as informações serão recuperadas. Esse campo é obrigatório. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico desse trabalho. |
creator_user_name |
STRING |
O nome de usuário do criador. Esse campo não será incluído na resposta se o usuário tiver sido excluído. |
settings |
JobSettings | Configurações para esse trabalho e todas as suas execuções. Essas configurações podem ser atualizadas usando os pontos de extremidade Reset ou Update. |
created_time |
INT64 |
A hora em que esse trabalho foi criado em milissegundos de época (milissegundos desde 1/1/1970 UTC). |
Redefinir
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/reset |
POST |
Substituir todas as configurações de um trabalho específico. Use o ponto de extremidade Update para atualizar as configurações de trabalho parcialmente.
Exemplo
Esta solicitação de exemplo torna o trabalho 2 idêntico ao trabalho 1 no exemplo de 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"
}
}
}
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.- O conteúdo de
reset-job.json
com campos apropriados para sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho a ser redefinido. Esse campo é obrigatório. |
new_settings |
JobSettings | As novas configurações do trabalho. Essas configurações substituem completamente as configurações antigas. As alterações no campo JobSettings.timeout_seconds são aplicadas a execuções ativas. As alterações em outros campos são aplicadas somente a futuras execuções. |
Atualizar
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/update |
POST |
Adicionar, alterar ou remover configurações específicas de um trabalho existente. Use o ponto de extremidade Reset para substituir todas as configurações do trabalho.
Exemplo
Esta solicitação de exemplo remove bibliotecas e adiciona configurações de notificação de 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"]
}
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.- O conteúdo de
update-job.json
com campos apropriados para sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho a ser atualizado. Esse campo é obrigatório. |
new_settings |
JobSettings | As novas configurações do trabalho. Os campos de nível superior especificados em new_settings , exceto matrizes, são completamente substituídos. Matrizes são mescladas com base nos respectivos campos de 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 matriz, não há suporte para a atualização parcial de campos aninhados.As alterações no campo JobSettings.timeout_seconds são aplicadas a execuções ativas. As alterações em outros campos são aplicadas somente a futuras execuções. |
fields_to_remove |
Uma matriz de STRING |
Remover os campos de nível superior nas configurações do trabalho. Não há suporte para a remoção de campos aninhados, exceto para entradas das matrizes tasks e job_clusters . Por exemplo, veja abaixo um argumento válido para este campo:["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Esse campo é opcional. |
Executar agora
Importante
- Um workspace é limitado a 1.000 execuções de tarefas simultâneas. Uma resposta
429 Too Many Requests
é retornada quando você solicita uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um workspace pode criar em uma hora é limitado a 10.000 (inclui “runs submit”). Esse limite também afeta os trabalhos criados pelos fluxos de trabalho da API REST e do notebook.
- Um workspace pode conter até 12.000 trabalhos salvos.
- Um trabalho pode conter até 100 tarefas.
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/run-now |
POST |
Execute um trabalho agora e retorne o run_id
da execução disparada.
Dica
Se você invocar Create junto com Run now, poderá usar o ponto de extremidade Runs submit, o que permitirá que você envie sua carga de trabalho diretamente sem ter que 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
:
Uma solicitação de exemplo para um trabalho de notebook:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Uma solicitação de exemplo para um trabalho de JAR:
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.- O conteúdo de
run-job.json
com campos apropriados para sua solução.
Este exemplo usa um arquivo .netrc e jq.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
|
jar_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas de 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 de JAR do Spark. Se não forem especificados em run-now , ela usará como padrão uma lista vazia. Não é possível especificar jar_params em conjunto com notebook_params. A representação JSON do campo (ou seja, {"jar_params":["john doe","35"]} ) não pode exceder 10.000 bytes. |
notebook_params |
Um mapa de ParamPair | Um mapa de chaves para valores de trabalhos com tarefas de notebook, por exemplo,"notebook_params": {"name": "john doe", "age": "35"} . O mapa é transmitido ao notebook e pode ser acessado por meio da função dbutils.widgets.get.Se não for especificado em run-now , a execução disparada usará os parâmetros de base do trabalho.Não é possível especificar notebook_params junto com jar_params. A representação JSON do 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 do Python, por exemplo, "python_params": ["john doe", "35"] . Os parâmetros serão transmitidos ao arquivo Python como parâmetros de linha de comando. Se especificado em run-now , ele substituiria os parâmetros especificados na configuração do trabalho. A representação JSON do campo (ou seja, {"python_params":["john doe","35"]} ) não pode exceder 10.000 bytes. |
spark_submit_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefa de envio do Spark, por exemplo,"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Os parâmetros serão transmitidos ao script spark-submit como parâmetros de linha de comando. Se especificado em run-now , ele substituiria os parâmetros especificados na configuração do trabalho. A representação JSON do campo não pode exceder 10.000 bytes. |
idempotency_token |
STRING |
Um token opcional para garantir a idempotência das solicitações de execução de trabalho. Se já existir uma execução com o token fornecido, a solicitação não criará uma execução, mas retornará a ID da existente. Se uma execução com o token fornecido for excluída, um erro será retornado. Se você especificar o token de idempotência, em caso de falha, poderá repetir a operação 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. O token deve ter 64 caracteres no máximo. Para saber mais, confira Como garantir a idempotência em trabalhos. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O ID globalmente exclusivo da execução disparada recentemente. |
number_in_job |
INT64 |
O número de sequência dessa execução dentre todas as execuções do trabalho. |
Executa o envio
Importante
- Um workspace é limitado a 1.000 execuções de tarefas simultâneas. Uma resposta
429 Too Many Requests
é retornada quando você solicita uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um workspace pode criar em uma hora é limitado a 10.000 (inclui “runs submit”). Esse limite também afeta os trabalhos criados pelos fluxos de trabalho da API REST e do notebook.
- Um workspace pode conter até 12.000 trabalhos salvos.
- Um trabalho pode conter até 100 tarefas.
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/submit |
POST |
Enviar uma única execução. Esse ponto de extremidade permite que você envie uma carga de trabalho diretamente sem criar uma tarefa. Use a API jobs/runs/get
para verificar o estado de execução depois que o trabalho for enviado.
Exemplo
Solicitação
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "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"
}
}
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.- O conteúdo de
submit-job.json
com campos apropriados para sua solução.
Este exemplo usa um arquivo .netrc e jq.
Resposta
{
"run_id": 123
}
Estrutura de solicitação
Importante
- Quando você executa um trabalho em um novo cluster de trabalhos, ele será tratado como uma carga de trabalho Computação de Trabalhos (automatizada) sujeita aos preços da Computação de Trabalhos.
- Quando você executa um trabalho em um cluster de uso geral existente, ele é tratado como uma carga de trabalho Computação para Todas as Finalidades (interativa) sujeita aos preços da Computação para Todas as Finalidades.
Nome do campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se for existing_cluster_id, será o ID de um cluster existente que será usado para todas as execuções desse trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster caso ele pare de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se for new_cluster, será uma descrição de um cluster que será criado para cada execução. Se você estiver especificando uma PipelineTask, esse campo poderá ficar 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 for notebook_task, isso indicará que esse trabalho deve executar um notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task. Se for spark_jar_task, isso indicará que esse trabalho deve executar um JAR. Se for spark_python_task, isso indicará que esse trabalho deve executar um arquivo Python. Se for spark_submit_task, isso indicará que esse trabalho deve ser lançado pelo script de envio do Spark. Se for pipeline_task, isso indicará que esse trabalho deve executar um pipeline do Delta Live Tables. Se for run_job_task, isso indica que esse trabalho deve executar outro trabalho. |
run_name |
STRING |
Um nome opcional para a execução. O valor padrão é Untitled . |
webhook_notifications |
WebhookNotifications | 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 |
JobNotificationSettings | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos webhook_notifications para esse trabalho. |
libraries |
Uma matriz de Biblioteca | 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 desse trabalho. O comportamento padrão é sem tempo limite. |
idempotency_token |
STRING |
Um token opcional para garantir a idempotência das solicitações de execução de trabalho. Se já existir uma execução com o token fornecido, a solicitação não criará uma execução, mas retornará a ID da existente. Se uma execução com o token fornecido for excluída, um erro será retornado. Se você especificar o token de idempotência, em caso de falha, poderá repetir a operação 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. O token deve ter 64 caracteres no máximo. Para saber mais, confira Como garantir a idempotência em trabalhos. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico para a execução recém-enviada. |
Executa a lista
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/list |
GET |
A lista é executada em ordem decrescente por hora de início.
Observação
As execuções são removidas automaticamente após 60 dias. Se você quiser fazer referência a elas após 60 dias, deverá salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, confira Exportar resultados da execução do trabalho. Para exportar usando a API de Trabalhos, confira Exportação de execuções.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
com o ID do trabalho, por exemplo,123
.- “com
true
ou<true-false>
”. <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 de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
active_only OU completed_only |
BOOL OU BOOL |
Se active_only for true , somente as execuções ativas serão incluídas nos resultados; caso contrário, ele listará as execuções ativas e concluídas. Uma execução ativa é uma execução em PENDING , RUNNING ou TERMINATING RunLifecycleState. Esse campo não pode ser true quando completed_only é true .Se completed_only for true , somente as execuções concluídas serão incluídas nos resultados; caso contrário, ele listará as execuções ativas e concluídas. Esse campo não pode ser true quando active_only é true . |
job_id |
INT64 |
O trabalho para o qual as execuções são listadas. Se omitido, o serviço Trabalhos listará execuções de todos os trabalhos. |
offset |
INT32 |
O deslocamento da primeira execução a ser retornada em relação à última. |
limit |
INT32 |
O número de execuções a ser retornado. Esse valor deve ser maior que 0 e menor que 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 execuções a ser retornado. Para ver uma descrição dos tipos de execução, confira Run. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
runs |
Uma matriz de Run | Uma lista de execuções, da iniciada mais recentemente à menos recente. |
has_more |
BOOL |
Se true, as execuções adicionais correspondentes ao filtro fornecido ficarão disponíveis para listagem. |
Executa Get
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Recuperar os metadados de uma execução.
Observação
As execuções são removidas automaticamente após 60 dias. Se você quiser fazer referência a elas após 60 dias, deverá salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, confira Exportar resultados da execução do trabalho. Para exportar usando a API de Trabalhos, confira Exportação de execuções.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
com o ID da execução, por exemplo,123
.
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 de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução para a qual os metadados devem ser recuperados. Esse campo é obrigatório. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho que contém essa execução. |
run_id |
INT64 |
O identificador canônico da execução. Esse ID é exclusivo em todas as execuções de todos os trabalhos. |
number_in_job |
INT64 |
O número de sequência dessa execução dentre todas as execuções do trabalho. Esse valor começa em 1. |
original_attempt_run_id |
INT64 |
Se essa é uma nova tentativa de uma tentativa de execução anterior, esse campo contém o run_id da tentativa original; caso contrário, é o mesmo run_id. |
state |
RunState | O resultado e os estados de ciclo de vida da execução. |
schedule |
CronSchedule | A agenda Cron que disparou essa operação se ela foi disparada pelo agendador periódico. |
task |
JobTask | A tarefa executada pela execução, se houver. |
cluster_spec |
ClusterSpec | Um instantâneo da especificação de cluster do trabalho quando a execução foi criada. |
cluster_instance |
ClusterInstance | O cluster usado para essa execução. Se houver especificação para a execução usar um novo cluster, esse campo será definido depois que o serviço Trabalhos tiver solicitado um cluster para a execução. |
overriding_parameters |
RunParameters | Os parâmetros usados para essa execução. |
start_time |
INT64 |
A hora em que essa execução foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Essa pode não ser a hora em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para execução em um novo cluster, essa será a hora em que a chamada de criação do cluster foi feita. |
end_time |
INT64 |
A hora em que essa execução terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse campo será definido como 0 se o trabalho ainda estiver em execução. |
setup_duration |
INT64 |
O tempo em milissegundos necessário para configurar o cluster. Para as execuções feitas em novos clusters, esse é o tempo de criação do cluster; para as execuções feitas em clusters existentes, o tempo deve ser muito curto. A duração total da execução é a soma de setup_duration ,execution_duration e o cleanup_duration . O campo setup_duration é definido como 0 para execuções de trabalho de várias tarefas. A duração total de uma execução de trabalho de várias tarefas é o valor docampo run_duration . |
execution_duration |
INT64 |
O tempo em milissegundos que levou para executar os comandos no JAR ou notebook até eles serem concluídos, falharem, atingirem o tempo limite, serem cancelados ou encontrarem um erro inesperado. A duração total da execução é a soma de setup_duration , execution_duration e ocleanup_duration . O campo execution_duration é definido como 0 para execuções de trabalho de várias tarefas. A duração total de uma execução de trabalho de várias tarefas é o valor do campo run_duration . |
cleanup_duration |
INT64 |
O tempo em milissegundos necessário para terminar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma de setup_duration , execution_duration e o cleanup_duration . O campo cleanup_duration é definido como 0 para execuções de trabalho de várias tarefas. A duração total de uma execução de trabalho de várias tarefas é o valor do campo run_duration . |
run_duration |
INT64 |
O tempo em milissegundos necessário para finalizar a execução do trabalho e todos os seus reparos. Esse campo só é definido para execuções de trabalho de várias tarefas e não para execuções de tarefas. A duração de uma execução de tarefa é a soma desetup_duration , execution_duration e o cleanup_duration . |
trigger |
TriggerType | O tipo de gatilho que disparou essa execução. |
creator_user_name |
STRING |
O nome de usuário do criador. Esse campo não será incluído na resposta se o usuário tiver sido excluído |
run_page_url |
STRING |
A URL para a página de detalhes da execução. |
Executa a exportação
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/export |
GET |
Exportar e recuperar a tarefa de execução do trabalho.
Observação
Somente execuções de notebook podem ser exportadas em formato HTML. A exportação de execuções de outros tipos falhará.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
com o ID da execução, por exemplo,123
.
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.
Observação
O corpo do notebook no objeto __DATABRICKS_NOTEBOOK_MODEL
está codificado.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução. Esse campo é obrigatório. |
views_to_export |
ViewsToExport | Quais exibições exportar (CODE, DASHBOARDS ou ALL). Usa como padrão CODE. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
views |
Uma matriz de ViewItem | O conteúdo exportado no formato HTML (um para cada item de exibição). |
Executa o cancelamento
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Cancelar uma execução de trabalho. Já que a execução é cancelada de maneira assíncrona, ela poderá ainda estar em execução quando esta solicitação for concluída. A execução será terminada em breve. Se a execução já estiver em um terminal life_cycle_state
, esse método será não operacional.
Esse ponto de extremidade 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> }'
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
com o ID da execução, por exemplo,123
.
Este exemplo usa um arquivo .netrc.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução a ser cancelada. Esse campo é obrigatório. |
Executa cancelar tudo
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/cancel-all |
POST |
Cancelar todas as execuções ativas de um trabalho. Como a execução é cancelada de maneira assíncrona, ela não impede que novas execuções sejam iniciadas.
Esse ponto de extremidade 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> }'
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
com o ID do trabalho, por exemplo,123
.
Este exemplo usa um arquivo .netrc.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho cujas todas as execuções cancelar. Esse campo é obrigatório. |
Executa a saída Get
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/get-output |
GET |
Recupere a saída e os metadados de uma única execução de tarefa. Quando uma tarefa de notebook retorna um valor por meio da chamada dbutils.notebook.exit (), você pode usar esse ponto de extremidade para recuperar aquele 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.
Esse ponto de extremidade valida que o parâmetro run_id
é 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 você quiser fazer referência a elas após 60 dias, deverá salvar os resultados de execução antigos antes que eles expirem. Para exportar usando a interface do usuário, confira Exportar resultados da execução do trabalho. Para exportar usando a API de Trabalhos, confira Exportação de execuções.
Exemplo
Solicitação
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
Ou:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
com o ID da execução, por exemplo,123
.
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 de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução. Para um trabalho com várias tarefas, esse é o run_id da execução de uma tarefa. Consulte Obtenção da saída de execuções. Esse campo é obrigatório. |
Estrutura de resposta
Nome do campo | Tipo | Descrição |
---|---|---|
notebook_output OU error |
NotebookOutput OU STRING |
Se for notebook_output, será a saída de uma tarefa de notebook, se disponível. Uma tarefa de notebook que termina (com êxito ou com falha) sem chamardbutils.notebook.exit() é considerada como resultando em uma saída vazia. Esse campo será definido, mas seu valor de resultado estará vazio.Se houver erro, haverá uma mensagem de erro indicando por que a saída não está disponível. A mensagem não é estruturada, e o formato exato está sujeito a alterações. |
metadata |
Executar | Todos os detalhes da execução, exceto da sua saída. |
Executa a exclusão
Ponto de extremidade | Método HTTP |
---|---|
2.0/jobs/runs/delete |
POST |
Excluir uma execução não ativa. Retornará 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> }'
Substitua:
<databricks-instance>
pelo nome da instância do workspace do Azure Databricks, por exemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
com o ID da execução, por exemplo,123
.
Este exemplo usa um arquivo .netrc.
Estrutura de solicitação
Nome do campo | Tipo | Descrição |
---|---|---|
run_id |
INT64 |
O identificador canônico da execução para a qual os metadados devem ser recuperados. |
Estruturas de dados
Nesta seção:
- ABFSSStorageInfo
- AutoScale
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Trabalho
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Biblioteca
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Executar
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- WorkspaceStorageInfo
ABFSSStorageInfo
Informações de armazenamento do ADLS (Azure Data Lake Storage).
Nome do campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do arquivo. Exemplo: abfss://... |
AutoScale
Intervalo que define o número mínimo e máximo de trabalhos do cluster.
Nome do campo | Tipo | Descrição |
---|---|---|
min_workers |
INT32 |
O número mínimo de trabalhos até o qual o cluster pode ser reduzido verticalmente quando subutilizado. Também é o número inicial de trabalhos que o cluster terá após a criação. |
max_workers |
INT32 |
O número máximo de trabalhos até o qual o cluster pode ser escalado verticalmente quando sobrecarregado. max_workers precisa ser estritamente maior que 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 nós first_on_demand do cluster serão colocados em instâncias sob demanda. Esse valor precisa ser maior que 0 ou a validação de criação do cluster falhará. Se esse valor for maior ou igual ao tamanho do cluster atual, todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho do cluster atual, os nós first_on_demand 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 transformado durante o tempo de vida de um cluster. |
availability |
AzureAvailability | Tipo de disponibilidade usado para todos os nós posteriores após aqueles first_on_demand . |
spot_bid_max_price |
DOUBLE |
O preço máximo de oferta usado para instâncias spot do Azure. É possível definir isso como maior ou igual ao preço do spot atual. Também pode definir isso como -1 (o padrão), 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. Veja os preços históricos e as taxas de remoção no portal do Azure. |
AzureAvailability
O comportamento do tipo de disponibilidade da instância do Azure.
Type | Descrição |
---|---|
SPOT_AZURE |
Use instâncias spot. |
ON_DEMAND_AZURE |
Use instâncias sob demanda. |
SPOT_WITH_FALLBACK_AZURE |
Preferencialmente, 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 do spot do Azure forem muito altos ou estiverem fora da cota). Não se aplica à disponibilidade do pool. |
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 durante todo o tempo.
Nome do campo | Tipo | Descrição |
---|---|---|
cluster_id |
STRING |
O identificador canônico do cluster usado por uma execução. Esse campo está sempre disponível para execuções em clusters existentes. Para execuções em novos clusters, ele fica disponível quando o cluster é criado. Esse valor pode ser usado para exibir logs pelo acesso a /#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á esse campo se o identificador ainda não estiver disponível. |
spark_context_id |
STRING |
O identificador canônico para o contexto do Spark usado por uma execução. Esse campo será preenchido quando a execução começar a ser executada. Esse valor pode ser usado para exibir a interface do usuário do Spark pelo acesso a /#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á esse campo se o identificador ainda não estiver disponível. |
ClusterLogConf
Caminho para o log do cluster.
Nome do campo | Tipo | Descrição |
---|---|---|
dbfs |
DbfsStorageInfo | Local do DBFS do log do cluster. O destino precisa ser fornecido. Por exemplo,{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
Importante
- Quando você executa um trabalho em um novo cluster de trabalhos, ele será tratado como uma carga de trabalho Computação de Trabalhos (automatizada) sujeita aos preços da Computação de Trabalhos.
- Quando você executa um trabalho em um cluster de uso geral existente, ele é tratado como uma carga de trabalho Computação para Todas as Finalidades (interativa) sujeita aos preços da Computação para Todas as Finalidades.
Nome do campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se for existing_cluster_id, será o ID de um cluster existente que será usado para todas as execuções desse trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster caso ele pare de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se for new_cluster, será uma descrição de um cluster que será criado para cada execução. Se você estiver especificando uma PipelineTask, esse campo poderá ficar vazio. |
libraries |
Uma matriz de Biblioteca | 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 marca do cluster.
Type | Descrição |
---|---|
STRING |
A chave da marca. A chave: - Precisa ter entre 1 e 512 caracteres - Não deve conter nenhum dos caracteres <>%*&+?\\/ - Não deve começar com azure , microsoft ou windows |
STRING |
O valor da marca. O tamanho do valor precisa ser menor ou igual a 256 caracteres UTF-8. |
CronSchedule
Nome do campo | Tipo | Descrição |
---|---|---|
quartz_cron_expression |
STRING |
Uma expressão Cron que usa a sintaxe Quartz que descreve o agendamento de um trabalho. Confira o Gatilho Cron para obter detalhes. Esse campo é obrigatório. |
timezone_id |
STRING |
Um ID de fuso horário Java. O agendamento de um trabalho será resolvido em relação a esse fuso horário. Confira Fuso horário Java para obter detalhes. Esse campo é obrigatório. |
pause_status |
STRING |
Indicar se esse agendamento está em pausa ou não. “EM PAUSA” ou “SEM PAUSA”. |
DbfsStorageInfo
Informações de armazenamento do DBFS.
Nome do campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do DBFS. Exemplo: dbfs:/my/path |
FileStorageInfo
Informações de armazenamento de arquivos.
Observação
Esse tipo de local só está disponível para clusters configurados por meio dos Serviços de Contêiner do Databricks.
Nome do campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do arquivo. Exemplo: file:/my/file.sh |
InitScriptInfo
Caminho para um script de inicialização.
Para obter instruções sobre como usar scripts de inicialização com os Serviços de Contêiner do Databricks, confira Usar um script de inicialização.
Observação
O tipo de armazenamento de arquivos (nome do campo: file
) só está disponível para clusters configurados por meio dos Serviços de Contêiner do Databricks. Confira FileStorageInfo.
Nome do campo | Tipo | Descrição |
---|---|---|
workspace OUdbfs (preterido)OR abfss |
WorkspaceStorageInfo DbfsStorageInfo (preterido) ABFSSStorageInfo |
Local do workspace do script de inicialização. O destino precisa ser fornecido. Por exemplo,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (Preterido) Local DBFS do script de inicialização. O destino precisa ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Local do ADLS (Azure Data Lake Storage do script de inicialização. O destino precisa ser fornecido. Por exemplo, { "abfss": { "destination" : "abfss://..." } } |
Job
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico desse trabalho. |
creator_user_name |
STRING |
O nome de usuário do criador. Esse campo não será incluído na resposta se o usuário já tiver sido excluído. |
run_as |
STRING |
O nome de usuário para o qual o trabalho será executado. run_as é baseado nas configurações de trabalho atuais e é definido como o criador do trabalho quando o controle de acesso ao trabalho está desabilitado, ou a permissão is_owner quando o controle de acesso ao trabalho está habilitado. |
settings |
JobSettings | Configurações para esse trabalho e todas as suas execuções. Essas configurações podem ser atualizadas com o método resetJob . |
created_time |
INT64 |
A hora em que esse trabalho foi criado em milissegundos de época (milissegundos desde 1/1/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. Entre os exemplos de caracteres não ASCII inválidos estão o chinês, os kanjis do japonês e os emojis.
Nome do campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de STRING |
Uma lista de endereços de email a serem notificados quando uma execução for iniciada. Se não for especificada 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 email a serem notificados quando uma execução for concluída com êxito. Uma execução será considerada concluída com êxito se terminar com TERMINATED life_cycle_state e um SUCCESSFUL result_state . Se não for especificada 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 email a serem notificados quando uma execução for concluída sem êxito. Uma execução é considerada concluída sem êxito quando termina com INTERNAL_ERROR life_cycle_state ou SKIPPED , FAILED , ou result_state TIMED_OUT . Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. |
on_duration_warning_threshold_exceeded |
Uma matriz de STRING |
Uma lista de endereços de email 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 . Se nenhuma regra para a métrica RUN_DURATION_SECONDS for especificada no campo health do trabalho, as notificações não serão enviadas. |
no_alert_for_skipped_runs |
BOOL |
Se true, não envia email para destinatários especificados em on_failure quando a execução é ignorada. |
Nome do campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for iniciada. Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_start . |
on_success |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução será considerada concluída com êxito se terminar com TERMINATED life_cycle_state e um SUCCESSFUL result_state . Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_success . |
on_failure |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Uma execução é considerada concluída sem êxito quando termina com INTERNAL_ERROR life_cycle_state ou SKIPPED , FAILED , ou result_state TIMED_OUT . Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_failure . |
on_duration_warning_threshold_exceeded |
Uma matriz de Webhook | Uma lista opcional de endereços de email 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 . No máximo três destinos podem ser especificados para a propriedade on_duration_warning_threshold_exceeded . |
JobNotificationSettings
Nome do campo | Tipo | Descrição |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Se true, não envia email para destinatários especificados em on_failure quando a execução é ignorada. |
no_alert_for_canceled_runs |
BOOL |
Se for true, não envie notificações aos destinatários especificados em on_failure se a execução for cancelada. |
alert_on_last_attempt |
BOOL |
Se for true, não envie notificações aos destinatários especificados em on_start para as execuções repetidas e não envie notificações aos destinatários especificados em on_failure até a última repetição da execução. |
JobSettings
Importante
- Quando você executa um trabalho em um novo cluster de trabalhos, ele será tratado como uma carga de trabalho Computação de Trabalhos (automatizada) sujeita aos preços da Computação de Trabalhos.
- Quando você executa um trabalho em um cluster de uso geral existente, ele é tratado como uma carga de trabalho Computação para Todas as Finalidades (interativa) sujeita aos preços da Computação para Todas as Finalidades.
Configurações para um trabalho. Essas configurações podem ser atualizadas com o método resetJob
.
Nome do campo | Tipo | Descrição |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Se for existing_cluster_id, será o ID de um cluster existente que será usado para todas as execuções desse trabalho. Ao executar trabalhos em um cluster existente, talvez seja necessário reiniciar manualmente o cluster caso ele pare de responder. Sugerimos a execução de trabalhos em novos clusters para maior confiabilidade. Se for new_cluster, será uma descrição de um cluster que será criado para cada execução. Se você estiver especificando uma PipelineTask, esse campo poderá ficar 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 for notebook_task, isso indicará que esse trabalho deve executar um notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task. Se for spark_jar_task, isso indicará que esse trabalho deve executar um JAR. Se for spark_python_task, isso indicará que esse trabalho deve executar um arquivo Python. Se for spark_submit_task, isso indicará que esse trabalho deve ser lançado pelo script de envio do Spark. Se for pipeline_task, isso indicará que esse trabalho deve executar um pipeline do Delta Live Tables. Se for run_job_task, isso indica que esse trabalho deve executar outro trabalho. |
name |
STRING |
Um nome opcional para o trabalho. O valor padrão é Untitled . |
libraries |
Uma matriz de Biblioteca | Uma lista opcional de bibliotecas a serem instaladas no cluster que executará o trabalho. O valor padrão é uma lista vazia. |
email_notifications |
JobEmailNotifications | Um conjunto opcional de endereços de email que serão notificados quando as execuções desse trabalho forem iniciadas ou concluídas e quando esse trabalho for excluído. O comportamento padrão é não enviar emails. |
webhook_notifications |
WebhookNotifications | 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 |
JobNotificationSettings | Configurações de notificação opcionais que são usadas ao enviar notificações para cada um dos email_notifications e webhook_notifications para esse trabalho. |
timeout_seconds |
INT32 |
Um tempo limite opcional aplicado a cada execução desse trabalho. O comportamento padrão é sem tempo limite. |
max_retries |
INT32 |
Um número máximo opcional de repetições de uma tentativa malsucedida. Uma execução será considerada malsucedida se for concluída com o result_state FAILED ouINTERNAL_ERROR life_cycle_state . O valor -1 significa novas tentativas indefinidamente; o valor 0 significa nunca tentar novamente. O comportamento padrão é nunca tentar novamente. |
min_retry_interval_millis |
INT32 |
Um intervalo mínimo opcional em milissegundos entre tentativas. O comportamento padrão é que as execuções malsucedidas sejam imediatamente tentadas novamente. |
retry_on_timeout |
BOOL |
Uma política opcional para especificar se deve haver nova tentativa de um trabalho quando ele atinge o tempo limite. O comportamento padrão é não tentar novamente no tempo limite. |
schedule |
CronSchedule | Um agendamento periódico opcional para esse trabalho. O comportamento padrão é o trabalho ser executado somente quando disparado pelo clique em “Executar Agora” na interface do usuário Trabalhos ou pelo envio de uma solicitação de API arunNow . |
max_concurrent_runs |
INT32 |
Um número máximo permitido opcional de execuções simultâneas do trabalho. Defina esse valor se você quiser ser capaz de fazer várias execuções do mesmo trabalho simultaneamente. Isso é útil, por exemplo, se você dispara seu trabalho em um agendamento frequente e quer permitir que as execuções consecutivas se sobreponham ou se quer disparar várias execuções que tenham diferença nos parâmetros de entrada. Essa configuração afeta somente novas execuções. Por exemplo, digamos que a simultaneidade do trabalho seja quatro e existem quatro execuções ativas simultâneas. A definição da simultaneidade como 3 não desativará nenhuma das execuções ativas. No entanto, a partir daí, novas execuções serão ignoradas, a menos que haja menos de três execuções ativas. O valor não pode exceder 1000. A definição desse valor como 0 faz com que todas as novas execuções sejam ignoradas. O comportamento padrão é permitir apenas uma execução simultânea. |
health |
JobsHealthRules | Um conjunto opcional de regras de integridade definidas para o trabalho. |
JobTask
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 for notebook_task, isso indicará que esse trabalho deve executar um notebook. Esse campo não pode ser especificado em conjunto com spark_jar_task. Se for spark_jar_task, isso indicará que esse trabalho deve executar um JAR. Se for spark_python_task, isso indicará que esse trabalho deve executar um arquivo Python. Se for spark_submit_task, isso indicará que esse trabalho deve ser lançado pelo script de envio do Spark. Se for pipeline_task, isso indicará que esse trabalho deve executar um pipeline do Delta Live Tables. Se for run_job_task, isso indica que esse trabalho deve executar outro trabalho. |
JobsHealthRule
Nome do campo | Tipo | Descrição |
---|---|---|
metric |
STRING |
Especifica a métrica de integridade que está sendo avaliada para uma regra de integridade específica. Os valores válidos são RUN_DURATION_SECONDS . |
operator |
STRING |
Especifica o operador usado para comparar o valor 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 cumprir a regra de integridade. |
JobsHealthRules
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 jar, o URI do JAR a ser instalado. Há suporte para URIs do DBFS e ADLS ( abfss ). 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 o gema, o URI do gema a ser instalado. Há suporte para URIs do DBFS e ADLS. Por exemplo: { "egg": "dbfs:/my/egg" } ou{ "egg": "abfss://<container-path>/egg" } .Se whl, URI do wheel ou wheels compactado a ser instalado. Há suporte para URIs do 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 arquivo wheel precisa utilizar a convenção correta. Se for necessário instalar o arquivo zipado wheels , o sufixo do nome do arquivo deverá ser .wheelhouse.zip .Se o PyPI, a especificação de uma biblioteca de PyPI a ser instalada. A especificação do campo repo é opcional e, se não for especificado, o índice Pip padrão será usado. Por exemplo:{ "package": "simplejson", "repo": "https://my-repo.com" } Se Maven, a especificação de uma biblioteca de Maven a ser instalada. Por exemplo: { "coordinates": "org.jsoup:jsoup:1.7.2" } Se o Cran, a especificação de uma biblioteca de 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 é necessário. |
repo |
STRING |
Repositório do Maven do qual instalar o pacote Maven. Se omitido, os pacotes do repositório central do Maven e do Spark serão pesquisados. |
exclusions |
Uma matriz de STRING |
Lista de dependências a serem excluídas. Por exemplo: ["slf4j:slf4j", "*:hadoop-client"] .Exclusões de dependência do Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
NewCluster
Nome do campo | Tipo | Descrição |
---|---|---|
num_workers OU autoscale |
INT32 OU AutoScale |
Se a configuração for num_workers, o número de nós de trabalho que esse cluster deverá ter. Um cluster possui um driver do Spark e num_workers executores para um total de num_workers + 1 nós do Spark. Observação: quando as propriedades de um cluster são lidas, esse campo reflete o número desejado de trabalhos em vez do número atual real de trabalhos. Por exemplo, se um cluster for redimensionado de cinco para dez trabalhos, esse campo será imediatamente atualizado para refletir o tamanho de destino de dez trabalhos, enquanto os trabalhos listados em spark_info aumentarão gradualmente de cinco para dez, à medida que os novos nós forem provisionados. Se a configuração for autoscale, serão necessários parâmetros para aumentar e diminuir automaticamente os clusters de acordo com a carga. |
spark_version |
STRING |
A versão do Spark do cluster. Uma lista de versões disponíveis do Spark pode ser recuperada por meio da chamada GET 2.0/clusters/spark-versions. Este campo é necessário. |
spark_conf |
SparkConfPair | Um objeto que contém um conjunto opcional de pares chave-valor de configuração do Spark especificado pelo usuário. Transmita também uma cadeia de caracteres de opções extras de JVM para o driver e os executores por meio despark.driver.extraJavaOptions e spark.executor.extraJavaOptions , respectivamente.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 |
Esse campo codifica, por meio 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 com uso intensivo de memória ou computação. Uma lista dos tipos de nós disponíveis pode ser recuperada por meio da chamada GET 2.0/clusters/list-node-types. Esse campo, o campo instance_pool_id ou uma política de cluster que especifica uma ID de tipo de nó ou ID do pool de instâncias é necessário. |
driver_node_type_id |
STRING |
O tipo de nó do driver do Spark. Esse campo é opcional. Se ele não estiver definido, o tipo de nó de driver será definido com o mesmo valor que node_type_id definido acima. |
custom_tags |
ClusterTag | Um objeto que contém um conjunto de marcas para recursos de cluster. O Databricks marca todos os recursos de cluster (como VMs) com essas marcas, além de default_tags. Observação: - Não há suporte a marcas em tipos de nós herdados, por exemplo, com otimização para computação e com otimização de memória - O Databricks permite, no máximo, 45 marcas personalizadas |
cluster_log_conf |
ClusterLogConf | A configuração usada para fornecer logs do Spark para um destino de armazenamento de longo prazo. Somente um destino pode ser especificado para um cluster. Se a configuração for fornecida, os logs serão entregues ao destino a cada 5 mins . O destino dos logs do driver é <destination>/<cluster-id>/driver , enquanto o destino dos logs do executor é <destination>/<cluster-id>/executor . |
init_scripts |
Uma matriz de InitScriptInfo | A configuração usada para armazenar scripts de inicialização. Qualquer número de scripts pode ser especificado. Os scripts são executados em sequência na ordem fornecida. Se cluster_log_conf for especificado, os logs do script init serão enviados para<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | Um objeto que contém um conjunto de pares chave-valor de variável de ambiente especificado pelo usuário. O par chave-valor do formulário (X, Y) é exportado como está (ou seja,export X='Y' ) quando o driver e os trabalhos são iniciados.Para especificar um conjunto adicional de SPARK_DAEMON_JAVA_OPTS , recomendamos acrescentá-los a $SPARK_DAEMON_JAVA_OPTS , conforme mostrado no exemplo a seguir. Isso faz com que todas as variáveis de ambiente padrão gerenciadas pelo Databricks também sejam incluídas.Exemplos 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 |
Dimensionamento automático do armazenamento local: quando essa opção estiver habilitada, esse cluster adquirirá dinamicamente espaço em disco adicional quando os trabalhos do Spark estiverem com pouco espaço em disco. Confira Habilitar o dimensionamento automático do armazenamento local para obter detalhes. |
driver_instance_pool_id |
STRING |
O ID opcional do pool de instâncias a ser usado para o nó do driver. Você também precisa especificar instance_pool_id . Consulte a API dos Pools de Instância para obter detalhes. |
instance_pool_id |
STRING |
O ID opcional do pool de instâncias a ser usado para os nós de cluster. Se driver_instance_pool_id estiver presente,instance_pool_id só será usado para nós de trabalho. Caso contrário, ele será usado para o driver e os nós de trabalho. Consulte a API dos Pools de Instância para obter detalhes. |
NotebookOutput
Nome do campo | Tipo | Descrição |
---|---|---|
result |
STRING |
O valor transmitido a 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. Esse 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 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 com falha. Nesse caso, parte da saída de conteúdo de outras células também poderá estar ausente.
Se você 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 Workspace do Azure Databricks. Esse caminho deve começar com uma barra. Esse campo é obrigatório. |
revision_timestamp |
LONG |
O carimbo de data/hora da revisão do notebook. |
base_parameters |
Um mapa de ParamPair | Parâmetros de base a serem usados para cada execução desse trabalho. Se a execução for iniciada por uma chamada para run-now com parâmetros especificados, os dois mapas de parâmetros serão mesclados. Se 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 que contenham informações sobre execuções de trabalho. Se o notebook usar um parâmetro que não está especificado nos base_parameters do trabalho ou run-now substituir parâmetros, o valor padrão do notebook será utilizado.Recupere esses parâmetros em um notebook usando dbutils.widgets.get. |
ParamPair
Parâmetros baseados em nome para trabalhos que executam tarefas de notebook.
Importante
Os campos nessa estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Entre os exemplos de caracteres não ASCII inválidos estão o chinês, os kanjis do japonês e os emojis.
Type | Descrição |
---|---|
STRING |
Nome do parâmetro. Transmita a dbutils.widgets.get para recuperar o valor. |
STRING |
Valor de parâmetro. |
PipelineTask
Nome do campo | Tipo | Descrição |
---|---|---|
pipeline_id |
STRING |
O nome completo da tarefa de pipeline do Delta Live Tables a ser executada. |
PythonPyPiLibrary
Nome do campo | Tipo | Descrição |
---|---|---|
package |
STRING |
O nome do pacote PyPI a ser instalado. Também há suporte para uma especificação de versão exata opcional. Exemplos: simplejson e simplejson==3.8.0 Este campo é necessá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 é necessário. |
repo |
STRING |
O repositório onde o pacote pode ser encontrado. Se não for especificado, o repositório do CRAN padrão será usado. |
Run
Todas as informações sobre uma execução, exceto sua saída. A saída pode ser recuperada separadamente com o método getRunOutput
.
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT64 |
O identificador canônico do trabalho que contém essa execução. |
run_id |
INT64 |
O identificador canônico da execução. Esse ID é exclusivo em todas as execuções de todos os trabalhos. |
creator_user_name |
STRING |
O nome de usuário do criador. Esse campo não será incluído na resposta se o usuário já tiver sido excluído. |
number_in_job |
INT64 |
O número de sequência dessa execução dentre todas as execuções do trabalho. Esse valor começa em 1. |
original_attempt_run_id |
INT64 |
Se essa é uma nova tentativa de uma tentativa de execução anterior, esse campo contém o run_id da tentativa original; caso contrário, é o mesmo run_id. |
state |
RunState | O resultado e os estados de ciclo de vida da execução. |
schedule |
CronSchedule | A agenda Cron que disparou essa operação se ela foi disparada pelo agendador periódico. |
task |
JobTask | A tarefa executada pela execução, se houver. |
cluster_spec |
ClusterSpec | Um instantâneo da especificação de cluster do trabalho quando a execução foi criada. |
cluster_instance |
ClusterInstance | O cluster usado para essa execução. Se houver especificação para a execução usar um novo cluster, esse campo será definido depois que o serviço Trabalhos tiver solicitado um cluster para a execução. |
overriding_parameters |
RunParameters | Os parâmetros usados para essa execução. |
start_time |
INT64 |
A hora em que essa execução foi iniciada em milissegundos de época (milissegundos desde 1/1/1970 UTC). Essa pode não ser a hora em que a tarefa de trabalho começa a ser executada, por exemplo, se o trabalho estiver agendado para execução em um novo cluster, essa será a hora em que a chamada de criação do cluster foi feita. |
setup_duration |
INT64 |
O tempo necessário para configurar o cluster em milissegundos. Para as execuções feitas em novos clusters, esse é o tempo de criação do cluster; para as execuções feitas em clusters existentes, o tempo deve ser muito curto. |
execution_duration |
INT64 |
O tempo em milissegundos que levou para executar os comandos no JAR ou notebook até eles serem concluídos, falharem, atingirem o tempo limite, serem cancelados ou encontrarem um erro inesperado. |
cleanup_duration |
INT64 |
O tempo em milissegundos necessário para terminar o cluster e limpar todos os artefatos associados. A duração total da execução é a soma de setup_duration, execution_duration e cleanup_duration. |
end_time |
INT64 |
A hora em que essa execução terminou em milissegundos de época (milissegundos desde 1/1/1970 UTC). Esse campo será definido como 0 se o trabalho ainda estiver em execução. |
trigger |
TriggerType | O tipo de gatilho que disparou essa execução. |
run_name |
STRING |
Um nome opcional para a execução. O valor padrão é Untitled . O tamanho máximo permitido é de 4096 bytes na codificação UTF-8. |
run_page_url |
STRING |
A URL para a página de detalhes da execução. |
run_type |
STRING |
O tipo de execução. - JOB_RUN : execução de trabalho normal. Uma execução criada com Executar agora.- WORKFLOW_RUN : execução de fluxo de trabalho. Uma execução criada com dbutils.notebook.run.- SUBMIT_RUN : execução de envio. Uma execução criada com Executar agora. |
attempt_number |
INT32 |
O número de sequência dessa tentativa de execução em uma sequência de trabalho disparada. A tentativa inicial de uma execução tem um attempt_number de 0. Se a 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 do ID da tentativa original e um attempt_number incremental. As execuções são tentadas novamente apenas até terem êxito, e o attempt_number máximo é o mesmo valor de max_retries do trabalho. |
RunJobTask
Nome do campo | Tipo | Descrição |
---|---|---|
job_id |
INT32 |
Identificador exclusivo da etapa de trabalho. Este campo é necessário. |
RunLifeCycleState
O estado do ciclo de vida de uma execução. As transições de estado permitidas são:
QUEUED
->PENDING
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
Estado | Descrição |
---|---|
QUEUED |
A execução foi disparada, mas está na fila porque atingiu um dos seguintes limites: - O máximo de ativos simultâneos é executado no espaço de trabalho. - O máximo de tarefas Run Job simultâneas é executada no espaço de trabalho.- O máximo de execuções simultâneas do trabalho. O trabalho ou a execução deve ter o enfileiramento habilitado antes de chegar a esse estado. |
PENDING |
A execução foi disparada. Se as execuções simultâneas máximas configuradas do trabalho já estiverem alcançadas, a execução fará a transição imediata para o estado SKIPPED sem preparar nenhum recurso. Caso contrário, a preparação do cluster e da execução estarão em andamento. |
RUNNING |
A tarefa dessa execução está sendo realizada. |
TERMINATING |
A tarefa dessa execução foi concluída e o cluster e o contexto de execução estão sendo limpos. |
TERMINATED |
A tarefa dessa execução foi concluída e o cluster e o contexto de execução foram limpos. Esse estado é terminal. |
SKIPPED |
Essa execução foi anulada porque uma versão anterior do mesmo trabalho já estava ativa. Esse estado é terminal. |
INTERNAL_ERROR |
Um estado excepcional que indica uma falha no serviço Trabalhos, por exemplo, falha de rede por um longo período. Se uma execução em um novo cluster terminar no estado INTERNAL_ERROR , o serviço Trabalhos terminará o cluster assim que possível. Esse estado é terminal. |
RunParameters
Parâmetros para essa execução. Somente um dos jar_params, python_params
ou notebook_params deve ser especificado na solicitação run-now
, dependendo do tipo de tarefa de trabalho.
Trabalhos com tarefa JAR do Spark ou Python usam uma lista de parâmetros baseados em posição; os trabalhos com tarefas de notebook usam um mapa de valores-chave.
Nome do campo | Tipo | Descrição |
---|---|---|
jar_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefas de 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 de JAR do Spark. Se não forem especificados em run-now , ela usará como padrão uma lista vazia. Não é possível especificar jar_params em conjunto com notebook_params. A representação JSON do campo (ou seja, {"jar_params":["john doe","35"]} ) não pode exceder 10.000 bytes.Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. |
notebook_params |
Um mapa de ParamPair | Um mapa de chaves para valores de trabalhos com tarefas de notebook, por exemplo,"notebook_params": {"name": "john doe", "age": "35"} . O mapa é transmitido ao notebook e pode ser acessado por meio da função dbutils.widgets.get.Se não for especificado em run-now , a execução disparada usará os parâmetros de base do trabalho.Não é possível especificar notebook_params em conjunto com jar_params. Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. A representação JSON do 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 do Python, por exemplo, "python_params": ["john doe", "35"] . Os parâmetros são transmitidos ao arquivo Python como parâmetros de linha de comando. Se especificado em run-now , ele substituiria os parâmetros especificados na configuração do trabalho. A representação JSON do campo (ou seja, {"python_params":["john doe","35"]} ) não pode exceder 10.000 bytes.Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. > [!IMPORTANTE] >> Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). >O uso de caracteres não ASCII retornará um erro. Entre os exemplos de caracteres não ASCII > inválidos estão o chinês, os kanjis do japonês e os emojis. |
spark_submit_params |
Uma matriz de STRING |
Uma lista de parâmetros para trabalhos com tarefa de envio do Spark, por exemplo,"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Os parâmetros são transmitidos ao script spark-submit como parâmetros de linha de comando. Se especificado em run-now , ele substituiria os parâmetros especificados na configuração do trabalho. A representação JSON do campo (ou seja, {"python_params":["john doe","35"]} ) não pode exceder 10.000 bytes.Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. > [!IMPORTANTE] >> Esses parâmetros aceitam apenas caracteres latinos (conjunto de caracteres ASCII). >O uso de caracteres não ASCII retornará um erro. Entre os exemplos de caracteres não ASCII > inválidos estão o chinês, os kanjis do japonês e os emojis. |
RunResultState
O estado de resultado da execução.
- Se
life_cycle_state
=TERMINATED
: se a execução tiver uma tarefa, o resultado ficará garantidamente disponível e indicará o resultado da tarefa. - Se
life_cycle_state
=PENDING
,RUNNING
ouSKIPPED
, o estado do resultado não ficará disponível. - Se
life_cycle_state
=TERMINATING
ou lifecyclestate =INTERNAL_ERROR
: o estado do resultado ficará disponível se a execução tiver uma tarefa e estiver gerenciada para iniciá-la.
Uma vez disponível, o estado do resultado nunca será alterado.
Estado | Descrição |
---|---|
SUCCESS |
A tarefa foi concluída com êxito. |
FAILED |
A tarefa foi concluída com um erro. |
TIMEDOUT |
A execução foi interrompida depois de atingir o tempo limite. |
CANCELED |
A execução foi cancelada por solicitação do usuário. |
RunState
Nome do campo | Tipo | Descrição |
---|---|---|
life_cycle_state |
RunLifeCycleState | Uma descrição da localização atual da execução em seu ciclo de vida. Esse campo está sempre disponível na resposta. |
result_state |
RunResultState | O estado de resultado de uma execução. Se não estiver disponível, a resposta não incluirá esse campo. Confira 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 o tempo limite da execução foi atingido. |
state_message |
STRING |
Uma mensagem descritiva sobre o estado atual. Esse campo não é estruturado, e o formato exato está sujeito a alterações. |
SparkConfPair
Pares chave-valor de configuração do Spark.
Type | Descrição |
---|---|
STRING |
Um nome de propriedade de configuração. |
STRING |
O valor da propriedade de configuração. |
SparkEnvPair
Pares chave-valor de variável de ambiente do Spark.
Importante
Quando as variáveis de ambiente são especificadas em um cluster de trabalho, os campos dessa estrutura de dados aceitam apenas caracteres latinos (conjunto de caracteres ASCII). O uso de caracteres não ASCII retornará um erro. Entre os exemplos de caracteres não ASCII inválidos estão o chinês, os kanjis do japonês e os emojis.
Type | Descrição |
---|---|
STRING |
O nome de uma variável de ambiente. |
STRING |
O valor da variável de ambiente. |
SparkJarTask
Nome do campo | Tipo | Descrição |
---|---|---|
jar_uri |
STRING |
Preterido desde 04/2016. Forneça um jar por meio do campo libraries . Para ver um exemplo, confira Create. |
main_class_name |
STRING |
O nome completo da classe que contém o método principal a ser executado. Essa classe deve estar contida em um JAR fornecido como uma biblioteca. O código deve usar SparkContext.getOrCreate para obter um contexto do Spark; caso contrário, as execuções do trabalho falharão. |
parameters |
Uma matriz de STRING |
Parâmetros transmitidos ao método principal. Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham 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. Há suporte apenas a caminhos DBFS. Esse campo é obrigatório. |
parameters |
Uma matriz de STRING |
Parâmetros de linha de comando transmitidos ao arquivo Python. Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. |
SparkSubmitTask
Importante
- Você somente pode invocar tarefas de envio do Spark em novos clusters.
- Na especificação new_cluster, tanto
libraries
quantospark_conf
não tem suporte. 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; você não pode especificá-los em parâmetros.- Por padrão, o trabalho de envio do Spark usa toda a memória disponível (exceto a memória reservada para os serviços do Azure Databricks). Você pode definir
--driver-memory
e--executor-memory
como um valor menor a fim de deixar algum espaço para uso fora do heap. - Os argumentos
--jars
,--py-files
e--files
dão suporte a caminhos DBFS.
Por exemplo, supondo que o JAR seja carregado no DBFS, você poderá executar SparkPi
com a definição dos parâmetros a seguir.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Nome do campo | Tipo | Descrição |
---|---|---|
parameters |
Uma matriz de STRING |
Parâmetros de linha de comando transmitidos ao envio do Spark. Use O que é uma referência de valor dinâmico? para definir parâmetros que contenham informações sobre execuções de trabalho. |
TriggerType
São os tipos de gatilhos que podem disparar uma execução.
Type | Descrição |
---|---|
PERIODIC |
Agendamentos que disparam execuções periodicamente, por exemplo, uma agenda Cron. |
ONE_TIME |
Gatilhos únicos que acionam uma única execução. Isso ocorre quando você disparou uma única execução sob demanda por meio da interface do usuário ou da API. |
RETRY |
Indica uma execução que é disparada como uma nova tentativa de uma execução anterior com falha. Isso ocorre quando você solicita nova execução do trabalho em caso de falhas. |
ViewItem
O conteúdo exportado está no formato HTML. Por exemplo, se a exibição a ser exportada for dashboards, uma cadeia de caracteres HTML será retornada para cada dashboard.
Nome do campo | Tipo | Descrição |
---|---|---|
content |
STRING |
Conteúdo da exibição. |
name |
STRING |
Nome do item de exibição. No caso da exibição de código, o nome do notebook. No caso da exibição de dashboard, o nome do dashboard. |
type |
ViewType | Tipo do item de exibição. |
ViewType
Type | Descrição |
---|---|
NOTEBOOK |
Item de exibição do notebook. |
DASHBOARD |
Item de exibição do dashboard. |
ViewsToExport
Exibir para exportar: código, todos os dashboards ou tudo.
Type | Descrição |
---|---|
CODE |
Exibição de código do notebook. |
DASHBOARDS |
Todas as exibições de dashboard do notebook. |
ALL |
Todas as exibições do notebook. |
Webhook
Nome do campo | Tipo | Descrição |
---|---|---|
id |
STRING |
Identificador referenciando um destino de notificação do sistema. Esse campo é obrigatório. |
WebhookNotifications
Nome do campo | Tipo | Descrição |
---|---|---|
on_start |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for iniciada. Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_start . |
on_success |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for concluída com êxito. Uma execução será considerada concluída com êxito se terminar com TERMINATED life_cycle_state e um SUCCESSFUL result_state . Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_success . |
on_failure |
Uma matriz de Webhook | Uma lista de destinos do sistema a serem notificados quando uma execução for concluída sem êxito. Uma execução é considerada concluída sem êxito quando termina com INTERNAL_ERROR life_cycle_state ou um SKIPPED , FAILED ou TIMED_OUT result_state . Se não for especificada na criação, redefinição ou atualização do trabalho, a lista estará vazia e as notificações não serão enviadas. No máximo três destinos podem ser especificados para a propriedade on_failure . |
on_duration_warning_threshold_exceeded |
Uma matriz de Webhook | Uma lista opcional de endereços de email 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 . No máximo três destinos podem ser especificados para a propriedade on_duration_warning_threshold_exceeded . |
WorkspaceStorageInfo
Informações de armazenamento do workspace.
Nome do campo | Tipo | Descrição |
---|---|---|
destination |
STRING |
Destino do arquivo. Exemplo: /Users/someone@domain.com/init_script.sh |