Condividi tramite


API Lavori 2.0

Importante

Questo articolo documenta la versione 2.0 dell'API Jobs. Tuttavia, Databricks consiglia di utilizzare il Jobs API 2.2 per i clienti e gli script nuovi ed esistenti. Per informazioni dettagliate sulle modifiche nella versione 2.2 dell'API Processi, consultare Aggiornamento dall'API Processi 2.1 alla versione 2.2.

L'API Processi consente di creare, modificare ed eliminare processi. La dimensione massima consentita di una richiesta all'API dei Lavori è 10 MB.

Per informazioni sulle funzionalità aggiornate nelle versioni più recenti dell'API Processi, vedere Aggiornamento dall'API Processi da 2.0 a 2.1 e Aggiornamento dall'API Processi da 2.1 a 2.2.

Avviso

Non si dovrebbe mai memorizzare informazioni segrete in codice rigido o archiviarle in testo in chiaro. Utilizzare l'API Segreti per gestire i segreti nell'interfaccia della riga di comando di Databricks. Usare l'utilità Secrets (dbutils.secrets) per fare riferimento ai segreti nei notebook e nelle attività.

Nota

Se si riceve un errore di livello 500 durante l'esecuzione di richieste API Job, Databricks consiglia di ripetere le richieste per un massimo di 10 minuti (con un intervallo minimo di 30 secondi tra i tentativi).

Importante

Per accedere alle API REST di Databricks, è necessario eseguire l'autenticazione.

Crea

Punto finale Metodo HTTP
2.0/jobs/create POST

Creare un nuovo lavoro.

Esempio

Questo esempio crea un processo che esegue un task JAR alle 10:15 di ogni sera.

Richiesta

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

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • Contenuto di create-job.json con i campi appropriati per la soluzione.

In questo esempio si utilizza un file .netrc e jq.

Risposta

{
  "job_id": 1
}

Struttura della richiesta

Importante

  • Quando si esegue un processo su un nuovo cluster di processi, il processo viene trattato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un lavoro su un cluster All-Purpose esistente, questo viene trattato come un lavoro interattivo di calcolo multiuso soggetto alla tariffazione del calcolo multiuso.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING O NewCluster Se existing_cluster_id, l'ID di un cluster esistente che sarà usato per tutte le esecuzioni di questo processo. Quando si eseguono processi in un cluster esistente, potrebbe essere necessario riavviare manualmente il cluster se smette di rispondere. È consigliabile eseguire i processi su nuovi cluster per una maggiore affidabilità.
Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.
Se si specifica una PipelineTask, questo campo può essere vuoto.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task O run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Se è presente notebook_task, indica che questa attività deve eseguire un notebook. Questo campo potrebbe non essere specificato in combinazione con spark_jar_task.
Se spark_jar_task, indica che questo processo deve eseguire un file JAR.
Se spark_python_task, indica che questo processo deve eseguire un file Python.
Se spark_submit_task, indica che questo processo deve essere avviato dallo script di invio di Spark.
Se pipeline_task, indica che questo processo deve eseguire una pipeline DLT.
Se impostato run_job_task, indica che questo compito dovrebbe eseguire un altro compito.
name STRING Nome facoltativo per il lavoro. Il valore predefinito è Untitled.
libraries Matrice di Libreria Elenco facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un elenco vuoto.
email_notifications NotificheEmailDiLavoro Un insieme facoltativo di indirizzi di posta elettronica viene avvisato quando l'esecuzione di questo processo inizia e si conclude, e quando questo processo viene eliminato. Il comportamento predefinito consiste nel non inviare messaggi di posta elettronica.
webhook_notifications WebhookNotifications Set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, completa o non riesce.
notification_settings ImpostazioniNotificheLavorative Impostazioni di notifica facoltative usate durante l'invio di notifiche a ciascuno dei email_notifications e webhook_notifications per questo processo.
timeout_seconds INT32 Timeout facoltativo applicato a ogni esecuzione di questo processo. Il comportamento predefinito non prevede l'esecuzione di timeout.
max_retries INT32 Numero massimo facoltativo di nuovi tentativi dopo un'esecuzione non riuscita. Un'esecuzione viene considerata non riuscita se viene completata con il result_state FAILED o
INTERNAL_ERROR
life_cycle_state. Il valore -1 significa riprovare all'infinito e il valore 0 significa non riprovare mai. Il comportamento predefinito è di non riprovare mai.
min_retry_interval_millis INT32 Intervallo minimo opzionale, espresso in millisecondi, tra l'inizio dell'esecuzione non riuscita e l'esecuzione successiva. Il comportamento predefinito prevede che le esecuzioni non riuscite vengano immediatamente ritentate.
retry_on_timeout BOOL Un criterio opzionale per specificare se riprovare un processo quando si verifica il timeout. Il comportamento predefinito è di non riprovare al timeout.
schedule CronSchedule Pianificazione periodica facoltativa per questa attività. Il comportamento predefinito prevede che il processo sia eseguito quando viene attivato facendo clic su Esegui ora nell'interfaccia utente dei processi o inviando una richiesta API a runNow.
max_concurrent_runs INT32 Numero massimo consentito facoltativo di esecuzioni simultanee del lavoro.
Impostare questo valore se si vuole essere in grado di eseguire più esecuzioni dello stesso processo contemporaneamente. Ciò è utile, ad esempio, se si attiva il processo in base a una pianificazione frequente e si vuole consentire le esecuzioni consecutive di sovrapporsi tra loro oppure se si desidera attivare più esecuzioni che differiscono in base ai relativi parametri di input.
Questa impostazione influisce solo sulle nuove esecuzioni. Ad esempio, si supponga che la capacità di esecuzione concorrente dell'attività sia 4 e che ci siano 4 esecuzioni simultanee attive. Quindi l'impostazione della concorrenza su 3 non comporta l'interruzione delle esecuzioni attive. Tuttavia, da allora, le nuove esecuzioni vengono ignorate a meno che non siano presenti meno di 3 esecuzioni attive.
Questo valore non può superare 1000. Se si imposta questo valore su 0, tutte le nuove esecuzioni verranno ignorate. Il comportamento predefinito è consentire solo un'esecuzione simultanea.

Struttura della risposta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico per il lavoro appena creato.

elenco

Punto finale Metodo HTTP
2.0/jobs/list GET

Elenca tutti i lavori.

Esempio

Richiesta

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Sostituire <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.

In questo esempio si utilizza un file .netrc e jq.

Risposta

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

Struttura della risposta

Nome campo Tipo Descrizione
jobs Matrice di Job. L'elenco dei lavori.

Elimina

Punto finale Metodo HTTP
2.0/jobs/delete POST

Eliminare un'attività e inviare un messaggio di posta elettronica agli indirizzi specificati in JobSettings.email_notifications. Se il lavoro è già stato rimosso, non viene eseguita alcuna azione. Dopo che il processo è stato rimosso, nell'interfaccia utente del lavoro o nell'API non sono più visibili né i suoi dettagli né la sua cronologia di esecuzione. L'attività sarà eliminata al completamento di questa richiesta. Tuttavia, le operazioni avviate prima della ricezione di questa richiesta potrebbero essere ancora in corso. Verranno interrotti in modo asincrono.

Esempio

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con l'ID del lavoro, ad esempio 123.

In questo esempio viene usato un file .netrc.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico dell'attività da eliminare. Campo obbligatorio.

Ottieni

Punto finale Metodo HTTP
2.0/jobs/get GET

Ottieni informazioni su un singolo lavoro.

Esempio

Richiesta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Oppure:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con l'ID del lavoro, ad esempio 123.

In questo esempio si utilizza un file .netrc e jq.

Risposta

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

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del lavoro da cui recuperare informazioni. Campo obbligatorio.

Struttura della risposta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico per questo incarico.
creator_user_name STRING Nome utente dell'autore. Questo campo non verrà incluso nella risposta se l'utente è stato eliminato.
settings JobSettings Impostazioni per questo compito e tutte le sue esecuzioni. Queste impostazioni possono essere aggiornate utilizzando gli endpoint reimpostazione o aggiornamento.
created_time INT64 L'ora in cui questa attività è stata creata in millisecondi epoch (millisecondi dal 1/1/1970 UTC).

Reimpostazione

Punto finale Metodo HTTP
2.0/jobs/reset POST

Sovrascrivere tutte le impostazioni per un lavoro specifico. Usare l'endpoint Update per aggiornare parzialmente le impostazioni di lavoro.

Esempio

Questa richiesta di esempio rende il processo 2 identico al processo 1 nell'esempio 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"
    }
  }
}

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • Contenuto di reset-job.json con i campi appropriati per la soluzione.

In questo esempio si utilizza un file .netrc e jq.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico dell'attività da reimpostare. Campo obbligatorio.
new_settings JobSettings Nuove impostazioni del lavoro. Queste impostazioni sostituiscono completamente le impostazioni precedenti.
Le modifiche apportate al campo JobSettings.timeout_seconds vengono applicate alle esecuzioni attive. Le modifiche apportate ad altri campi vengono applicate solo alle esecuzioni future.

aggiornamento

Punto finale Metodo HTTP
2.0/jobs/update POST

Aggiungere, modificare o rimuovere impostazioni specifiche di un processo esistente. Usare l'endpoint Reimposta per sovrascrivere tutte le impostazioni del lavoro.

Esempio

Questa richiesta di esempio rimuove le librerie e aggiunge le impostazioni di notifica tramite posta elettronica al processo 1 definito nell'esempio di 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"]
}

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • Contenuto di update-job.json con i campi appropriati per la soluzione.

In questo esempio si utilizza un file .netrc e jq.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del lavoro da aggiornare. Campo obbligatorio.
new_settings JobSettings Le nuove impostazioni per il lavoro.
I campi di primo livello specificati in new_settings, ad eccezione delle matrici, vengono completamente sostituiti. Le matrici vengono unite in base ai rispettivi campi chiave, ad esempio task_key o
job_cluster_key e gli elementi della matrice con la stessa chiave vengono sostituiti completamente. Ad eccezione dell'unione di matrici, l'aggiornamento parziale dei campi annidati non è supportato.
Le modifiche apportate al campo JobSettings.timeout_seconds vengono applicate alle esecuzioni attive. Le modifiche apportate ad altri campi vengono applicate solo alle esecuzioni future.
fields_to_remove Matrice di STRING. rimuovere i campi di primo livello nelle impostazioni della attività. La rimozione dei campi annidati non è supportata, ad eccezione delle voci delle matrici tasks e job_clusters. Ad esempio, di seguito è riportato un argomento valido per questo campo:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]
Questo campo è facoltativo.

Esegui ora

Importante

  • In un'area di lavoro, il numero massimo di esecuzioni di task simultanei è 1000. Una risposta 429 Too Many Requests viene restituita quando si richiede un'esecuzione che non può iniziare immediatamente.
  • Il numero di operazioni che un'area di lavoro può creare in un'ora è limitato a 10000 (incluse le "esecuzioni inviate"). Questo limite influisce anche sui processi creati dall'API REST e dai flussi di lavoro dei notebook.
  • Un'area di lavoro può contenere fino a un massimo di 12000 processi salvati.
  • Un lavoro può contenere fino a 100 attività.
Punto finale Metodo HTTP
2.0/jobs/run-now POST

Avvia ora un'operazione e restituisci l'oggetto run_id dell'esecuzione attivata.

Suggerimento

Se richiami Crea insieme a Esegui ora, puoi utilizzare l'endpoint di invio esecuzioni al suo posto, il quale ti consente di inviare direttamente il tuo carico di lavoro senza dover creare un'attività.

Esempio

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Una richiesta di esempio per un lavoro notebook:

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

Una richiesta di esempio per un'attività JAR:

{
  "job_id": 2,
  "jar_params": ["john doe", "35"]
}

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • Contenuto di run-job.json con i campi appropriati per la soluzione.

In questo esempio si utilizza un file .netrc e jq.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64
jar_params Matrice di STRING. Elenco di parametri per i processi con attività JAR, ad esempio "jar_params": ["john doe", "35"]. I parametri verranno usati per richiamare la funzione principale della classe principale specificata nell'attività SPARK JAR. Se non specificato in run-now, per impostazione predefinita verrà visualizzato un elenco vuoto. jar_params non può essere specificato in combinazione con notebook_params. La rappresentazione JSON di questo campo (ad esempio {"jar_params":["john doe","35"]}) non può superare i 10.000 byte.
notebook_params Mappa di ParamPair Mappa da chiavi a valori per i processi con attività notebook, ad esempio
"notebook_params": {"name": "john doe", "age": "35"}. La mappa viene passata al notebook ed è accessibile tramite la funzione dbutils.widgets.get.
Se non specificato in run-now, l'esecuzione attivata usa i parametri di base del processo.
Non è possibile specificare notebook_params in combinazione con jar_params.
La rappresentazione JSON di questo campo (ad esempio,
{"notebook_params":{"name":"john doe","age":"35"}}) non può superare 10.000 byte.
python_params Matrice di STRING. Elenco di parametri per i processi con attività Python, ad esempio "python_params": ["john doe", "35"]. I parametri verranno passati al file Python come parametri della riga di comando. Se specificato in run-now, sovrascriverà i parametri specificati nelle impostazioni del lavoro. La rappresentazione JSON di questo campo (ad esempio {"python_params":["john doe","35"]}) non può superare i 10.000 byte.
spark_submit_params Matrice di STRING. Elenco di parametri per i lavori con attività di invio tramite Spark, ad esempio
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. I parametri verranno passati allo script spark-submit come parametri della riga di comando. Se specificato in run-now, sovrascriverà i parametri specificati nelle impostazioni del lavoro. La rappresentazione JSON di questo campo non può superare i 10.000 byte.
idempotency_token STRING Token facoltativo per garantire l'idempotenza delle richieste di esecuzione delle attività di lavoro. Se esiste già un'esecuzione con il token specificato, la richiesta non crea una nuova esecuzione ma restituisce l'ID dell'esecuzione esistente. Se viene eliminata un'esecuzione con il token specificato, viene restituito un errore.
Se si specifica il token di idempotenza, in caso di errore è possibile riprovare fino a quando la richiesta non riesce. Azure Databricks garantisce che venga avviata esattamente un'esecuzione con quel token di idempotenza.
Questo token deve avere al massimo 64 caratteri.
Per ulteriori informazioni, vedere Come garantire l'idempotenza per i lavori.

Struttura della risposta

Nome campo Tipo Descrizione
run_id INT64 ID globalmente unico dell'esecuzione appena iniziata.
number_in_job INT64 Numero di sequenza di questa esecuzione tra tutte le esecuzioni del lavoro.

Invio esecuzioni

Importante

  • In un'area di lavoro, il numero massimo di esecuzioni di task simultanei è 1000. Una risposta 429 Too Many Requests viene restituita quando si richiede un'esecuzione che non può iniziare immediatamente.
  • Il numero di processi che un'area di lavoro può creare in un'ora è limitato a 10000 (inclusi "invii eseguiti"). Questo limite influisce anche sui processi creati dall'API REST e dai flussi di lavoro dei notebook.
  • Un'area di lavoro può contenere fino a un massimo di 12000 processi salvati.
  • Un lavoro può contenere fino a 100 attività.
Punto finale Metodo HTTP
2.0/jobs/runs/submit POST

Eseguire un'unica esecuzione. Questo endpoint consente di inviare un carico di lavoro direttamente senza creare un processo. Usare l'API jobs/runs/get per verificare lo stato di esecuzione dopo l'invio del processo.

Esempio

Richiesta

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

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • Contenuto di submit-job.json con i campi appropriati per la soluzione.

In questo esempio si utilizza un file .netrc e jq.

Risposta

{
  "run_id": 123
}

Struttura della richiesta

Importante

  • Quando si esegue un processo su un nuovo cluster di processi, il processo viene trattato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un lavoro su un cluster All-Purpose esistente, questo viene trattato come un lavoro interattivo di calcolo multiuso soggetto alla tariffazione del calcolo multiuso.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING O NewCluster Se existing_cluster_id, l'ID di un cluster esistente che sarà usato per tutte le esecuzioni di questo processo. Quando si eseguono processi in un cluster esistente, potrebbe essere necessario riavviare manualmente il cluster se smette di rispondere. È consigliabile eseguire i processi su nuovi cluster per una maggiore affidabilità.
Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.
Se si specifica una PipelineTask, questo campo può essere vuoto.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task O run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Se notebook_task è presente, indica che questo compito deve eseguire un notebook. Questo campo potrebbe non essere specificato in combinazione con spark_jar_task.
Se spark_jar_task, indica che questo processo deve eseguire un file JAR.
Se spark_python_task, indica che questo processo deve eseguire un file Python.
Se spark_submit_task, indica che questo processo deve essere avviato dallo script di invio di Spark.
Se pipeline_task, indica che questo processo deve eseguire una pipeline DLT.
Se run_job_task, indica che questo job deve eseguire un altro job.
run_name STRING Nome facoltativo per il processo. Il valore predefinito è Untitled.
webhook_notifications WebhookNotifications Set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, completa o non riesce.
notification_settings ImpostazioniNotificheLavorative Impostazioni di notifica facoltative usate durante l'invio di notifiche a ciascuno dei webhook_notifications per questo processo.
libraries Matrice di Libreria Elenco facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un elenco vuoto.
timeout_seconds INT32 Timeout facoltativo applicato a ogni esecuzione di questo processo. Il comportamento predefinito non prevede l'esecuzione di timeout.
idempotency_token STRING Token facoltativo per garantire l'idempotenza delle richieste di esecuzione del lavoro. Se esiste già un'esecuzione con il token specificato, la richiesta non crea una nuova esecuzione ma restituisce l'ID dell'esecuzione esistente. Se viene eliminata un'esecuzione con il token specificato, viene restituito un errore.
Se si specifica il token di idempotenza, in caso di errore è possibile riprovare fino a quando la richiesta non riesce. Azure Databricks garantisce che venga avviata esattamente un'esecuzione con quel token di idempotenza.
Questo token deve avere al massimo 64 caratteri.
Per ulteriori informazioni, vedere Come garantire l'idempotenza per i lavori.

Struttura della risposta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico per la corsa appena inviata.

Elenco delle esecuzioni

Punto finale Metodo HTTP
2.0/jobs/runs/list GET

L'elenco è ordinato in ordine decrescente per orario di inizio.

Nota

Le corse vengono rimosse automaticamente dopo 60 giorni. Se si desidera farvi riferimento per un periodo superiore a 60 giorni, è consigliabile salvare i vecchi risultati di esecuzione prima che scadano. Per esportare usando l'interfaccia utente, vedere Esportare i risultati dell'esecuzione del processo. Per esportare usando l'API Processi, vedere Esportazione di esecuzioni.

Esempio

Richiesta

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 .

Oppure:

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 .

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con l'ID del lavoro, ad esempio 123.
  • <true-false> con true oppure false”.
  • <offset> con il valore offset.
  • <limit> con il valore limit.
  • <run-type> con il valore run_type.

In questo esempio si utilizza un file .netrc e jq.

Risposta

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

Struttura della richiesta

Nome campo Tipo Descrizione
active_only O completed_only BOOL O BOOL Se active_only è true, nei risultati vengono incluse solo le esecuzioni attive; in caso contrario, vengono elencate le esecuzioni attive e completate. Un'esecuzione attiva è un'esecuzione in PENDING, RUNNING o TERMINATINGRunLifecycleState. Questo campo non può essere true se completed_only è true.
Se active_only è true, solo le esecuzioni completate vengono incluse nei risultati; altrimenti, vengono elencate sia le esecuzioni attive sia quelle completate. Questo campo non può essere true se active_only è true.
job_id INT64 Il lavoro per cui devono essere elencate le esecuzioni. Se omesso, il servizio dei lavori elencherà le esecuzioni da tutti i lavori.
offset INT32 L'offset relativo alla prima esecuzione da restituire, rispetto all'esecuzione più recente.
limit INT32 Numero di esecuzioni da restituire. Questo valore deve essere maggiore di 0 e minore di 1000. Il valore predefinito è 20. Se una richiesta specifica un limite pari a 0, il servizio userà invece il limite massimo.
run_type STRING Il tipo di esecuzione da restituire. Per una descrizione dei tipi di esecuzione, vedere Esecuzione.

Struttura della risposta

Nome campo Tipo Descrizione
runs Matrice di Run. Un elenco di sessioni, da quelle avviate più di recente a quelle meno recenti.
has_more BOOL Se è vero, sono disponibili esecuzioni aggiuntive corrispondenti al filtro fornito per essere elencate.

Esecuzioni

Punto finale Metodo HTTP
2.0/jobs/runs/get GET

Recuperare i metadati di un'esecuzione.

Nota

Dopo 60 giorni, le esecuzioni vengono rimosse automaticamente. Se si desidera farvi riferimento per un periodo superiore a 60 giorni, è consigliabile salvare i vecchi risultati di esecuzione prima che scadano. Per esportare usando l'interfaccia utente, vedere Esportare i risultati dell'esecuzione del processo. Per esportare usando l'API Lavori, vedere Esportazione di lavori.

Esempio

Richiesta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Oppure:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con l'ID dell'esecuzione, ad esempio 123.

In questo esempio si utilizza un file .netrc e jq.

Risposta

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

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico dell'esecuzione per cui recuperare i metadati. Campo obbligatorio.

Struttura della risposta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del processo che contiene questa esecuzione.
run_id INT64 Identificatore canonico della corsa (technical context). Questo ID è univoco complessivamente in tutte le esecuzioni di tutti i processi.
number_in_job INT64 Numero di sequenza di questa esecuzione tra tutte le esecuzioni del job. Questo valore inizia da 1.
original_attempt_run_id INT64 Se questa esecuzione è una ripetizione di un tentativo di esecuzione precedente, questo campo contiene il run_id del tentativo originale; altrimenti, è uguale al run_id.
state RunState Stati del risultato e del ciclo di vita del processo.
schedule CronSchedule Pianificazione cron che ha attivato questa esecuzione, se è stata attivata dal pianificatore periodico.
task JobTask Il compito svolto dal corso, se presente.
cluster_spec ClusterSpec Un'istantanea della specifica del cluster del lavoro quando è stata creata questa esecuzione.
cluster_instance ClusterInstance Il cluster usato per questa esecuzione. Se l'esecuzione viene specificata per l'uso di un nuovo cluster, questo campo verrà impostato dopo che il servizio Processi ha richiesto un cluster per l'esecuzione.
overriding_parameters RunParameters Parametri utilizzati per questa esecuzione.
start_time INT64 Ora in cui questa esecuzione è stata avviata in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo potrebbe non essere il momento in cui l'attività inizia a essere eseguita; per esempio, se il processo è pianificato per essere eseguito in un nuovo cluster, questo è il momento in cui viene effettuata la chiamata per la creazione del cluster.
end_time INT64 Ora in cui questa esecuzione termina in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo campo verrà impostato su 0 se il processo è ancora in esecuzione.
setup_duration INT64 Tempo in millisecondi necessario per configurare il cluster. Per le esecuzioni su nuovi cluster si tratta del tempo di creazione del cluster, mentre per le esecuzioni su cluster esistenti questo tempo dovrebbe essere molto breve. La durata totale della corsa è la somma di setup_duration,
execution_duration e cleanup_duration. Il campo setup_duration è impostato su 0 per le esecuzioni del processo multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore del
campo run_duration.
execution_duration INT64 Tempo in millisecondi impiegato per eseguire i comandi nel JAR o nel notebook, fino al completamento, al fallimento, al timeout, all'annullamento o a un errore imprevisto. La durata totale dell'esecuzione è la somma di setup_duration, execution_duration e
cleanup_duration. Il campo execution_duration è impostato su 0 per le esecuzioni del processo multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore del campo run_duration.
cleanup_duration INT64 Tempo in millisecondi necessario per terminare il cluster e pulire gli elementi associati. La durata totale dell'esecuzione è la somma di setup_duration, execution_duration e cleanup_duration. Il campo cleanup_duration è impostato su 0 per le esecuzioni del processo multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore del campo run_duration.
run_duration INT64 Tempo in millisecondi impiegato per completare l'esecuzione del processo e tutte le relative riparazioni. Questo campo è impostato solo per le esecuzioni di processi multitask e non per le esecuzioni di attività. La durata dell'esecuzione di un'attività è la somma di
setup_duration, execution_duration e cleanup_duration.
trigger TriggerType Tipo di innesco che ha attivato questa esecuzione.
creator_user_name STRING Nome utente dell'autore. Questo campo non verrà incluso nella risposta se l'utente è stato eliminato
run_page_url STRING URL della pagina dei dettagli dell'esecuzione.

Esportazione dei processi

Punto finale Metodo HTTP
2.0/jobs/runs/export GET

Esportare e recuperare il compito di esecuzione del lavoro.

Nota

Solo le esecuzioni di notebook possono essere esportate in formato HTML. L'esportazione di operazioni di altri tipi avrà esito negativo.

Esempio

Richiesta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Oppure:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con l'ID dell'esecuzione, ad esempio 123.

In questo esempio si utilizza un file .netrc e jq.

Risposta

{
  "views": [
    {
      "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
      "name": "my-notebook",
      "type": "NOTEBOOK"
    }
  ]
}

Per estrarre il notebook HTML dalla risposta JSON, scaricare ed eseguire questo script Python.

Nota

Il corpo del notebook nell'oggetto __DATABRICKS_NOTEBOOK_MODEL è codificato.

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico per il processo. Campo obbligatorio.
views_to_export VisteDaEsportare Quali visualizzazioni esportare (CODICE, DASHBOARD o TUTTI). Il valore di default è CODE.

Struttura della risposta

Nome campo Tipo Descrizione
views Matrice di ViewItem Contenuto esportato in formato HTML (uno per ogni elemento di visualizzazione).

Annullamento di esecuzioni

Punto finale Metodo HTTP
2.0/jobs/runs/cancel POST

Annulla l'esecuzione di un processo di lavoro. Poiché l'esecuzione viene annullata in modo asincrono, è possibile che l'esecuzione sia ancora in corso quando questa richiesta viene completata. Il processo verrà terminato a breve. Se l'esecuzione è già in un terminale life_cycle_state, questo metodo è no-op.

Questo endpoint verifica che il parametro run_id sia valido e per i parametri non validi restituisca il codice di stato HTTP 400.

Esempio

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con l'ID dell'esecuzione, ad esempio 123.

In questo esempio viene usato un file .netrc.

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 L'identificatore canonico relativo all'esecuzione da annullare. Campo obbligatorio.

Le esecuzioni annullano tutto

Punto finale Metodo HTTP
2.0/jobs/runs/cancel-all POST

Annullare tutte le esecuzioni attive di un'attività. Poiché l'esecuzione viene annullata in modo asincrono, non viene impedito l'avvio di nuove esecuzioni.

Questo endpoint verifica che il parametro job_id sia valido e per i parametri non validi restituisca il codice di stato HTTP 400.

Esempio

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con l'ID del lavoro, ad esempio 123.

In questo esempio viene usato un file .netrc.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del lavoro di cui annullare tutte le esecuzioni. Campo obbligatorio.

Le esecuzioni producono un output

Punto finale Metodo HTTP
2.0/jobs/runs/get-output GET

Recuperare l'output e i metadati di una singola esecuzione di un task. Quando un task notebook restituisce un valore tramite la chiamata dbutils.notebook.exit(), è possibile usare questo endpoint per recuperare quel valore. Azure Databricks limita questa API per restituire i primi 5 MB dell'output. Per restituire un risultato più ampio, è possibile archiviare i risultati dei processi in un servizio di archiviazione cloud.

Questo endpoint verifica che il parametro run_id sia valido e per i parametri non validi restituisca il codice di stato HTTP 400.

Le esecuzioni vengono cancellate automaticamente dopo 60 giorni. Se si desidera farvi riferimento per un periodo superiore a 60 giorni, è consigliabile salvare i vecchi risultati di esecuzione prima che scadano. Per esportare usando l'interfaccia utente, vedere Esportare i risultati dell'esecuzione del processo. Per esportare usando l'API Jobs, vedere Esportazione di esecuzioni.

Esempio

Richiesta

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Oppure:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con l'ID dell'esecuzione, ad esempio 123.

In questo esempio si utilizza un file .netrc e jq.

Risposta

{
  "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()"
  }
}

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico per il processo. Per un processo con più task, si tratta dell'esecuzione run_id di un task. Vedere Le esecuzioni generano l'output. Campo obbligatorio.

Struttura della risposta

Nome campo Tipo Descrizione
notebook_output O error NotebookOutput o STRING Se notebook_output, è l'output di un task del notebook, se disponibile. Un'attività del notebook che termina (correttamente o con un errore) senza effettuare chiamate
dbutils.notebook.exit() viene considerato come avente un output vuoto. Questo campo verrà impostato, ma il valore del risultato sarà vuoto.
In caso di errore, viene visualizzato un messaggio di errore che indica il motivo per cui l'output non è disponibile. Il messaggio non è strutturato e il formato esatto è soggetto a modifiche.
metadata Run Tutti i dettagli dell'esecuzione, ad eccezione del relativo output.

Eliminazione delle corse

Punto finale Metodo HTTP
2.0/jobs/runs/delete POST

Eliminare un'esecuzione non attiva. Restituisce un errore se l'esecuzione è attiva.

Esempio

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Sostituire:

  • <databricks-instance> con il nome dell'istanza dell'area di lavoro di Azure Databricks, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con l'ID dell'esecuzione, ad esempio 123.

In questo esempio viene usato un file .netrc.

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico dell'esecuzione per il quale recuperare i metadati.

Strutture dei dati

Contenuto della sezione:

ABFSSStorageInfo

Informazioni sull'archiviazione di Azure Data Lake Storage (ADLS).

Nome campo Tipo Descrizione
destination STRING Destinazione file. Esempio: abfss://...

AutoScale

Intervallo che definisce il numero minimo e massimo di lavoratori del cluster.

Nome campo Tipo Descrizione
min_workers INT32 Numero minimo di lavoratori a cui il cluster può ridursi quando è sottoutilizzato. È anche il numero iniziale di ruoli di lavoro che il cluster avrà dopo la creazione.
max_workers INT32 Numero massimo di lavoratori a cui il cluster può espandere in caso di sovraccarico. max_workers deve essere strettamente maggiore di min_workers.

AzureAttributes

Attributi impostati durante la creazione del cluster correlati ad Azure.

Nome campo Tipo Descrizione
first_on_demand INT32 I primi nodi first_on_demand del cluster verranno posizionati su istanze su richiesta. Questo valore deve essere maggiore di 0, oppure la convalida della creazione del cluster non riesce. Se questo valore è maggiore o uguale alla dimensione corrente del cluster, tutti i nodi verranno posizionati su istanze su richiesta. Se questo valore è minore delle dimensioni correnti del cluster, i nodi first_on_demand verranno posizionati su istanze su richiesta e il resto verrà inserito nelle istanze di disponibilità. Questo valore non influisce sulle dimensioni del cluster e non può essere modificato per tutta la durata di un cluster.
availability AzureAvailability Tipo di disponibilità usato per tutti i nodi successivi oltre quelli first_on_demand.
spot_bid_max_price DOUBLE Prezzo massimo dell'offerta usato per le istanze spot di Azure. È possibile impostare questo valore su maggiore o uguale al prezzo spot corrente. È anche possibile impostare questa opzione su -1 (impostazione predefinita), che specifica che l'istanza non può essere rimossa in base al prezzo. Il prezzo per l'istanza sarà il prezzo corrente per le istanze spot o il prezzo per un'istanza standard. È possibile visualizzare i prezzi cronologici e le tariffe di rimozione nel portale di Azure.

AzureAvailability

Comportamento del tipo di disponibilità dell'istanza di Azure.

Tipo Descrizione
SPOT_AZURE Usa le istanze spot.
ON_DEMAND_AZURE Usa istanze su richiesta.
SPOT_WITH_FALLBACK_AZURE Utilizzare preferibilmente istanze spot, ma ripiegare su istanze on-demand se non è possibile acquisire istanze spot (ad esempio, se i prezzi spot di Azure sono troppo alti o fuori quota). Non si applica alla disponibilità del pool.

ClusterInstance

Identificatori per il cluster e il contesto Spark usati da un'esecuzione. Questi due valori identificano insieme un contesto di esecuzione in tutto il tempo.

Nome campo Tipo Descrizione
cluster_id STRING Identificatore canonico per il cluster utilizzato da un'esecuzione. Questo campo è sempre disponibile per l'esecuzione in cluster esistenti. Per l'esecuzione in nuovi cluster, diventa disponibile dopo la creazione del cluster. Questo valore può essere usato per visualizzare i log passando a /#setting/sparkui/$cluster_id/driver-logs. I log continueranno a essere disponibili al termine dell'esecuzione.
La risposta non includerà questo campo se l'identificatore non è ancora disponibile.
spark_context_id STRING L'identificatore canonico per il contesto Spark utilizzato da una sessione. Questo campo verrà compilato quando l'esecuzione avrà inizio. Questo valore può essere utilizzato per visualizzare l'interfaccia utente di Spark passando a /#setting/sparkui/$cluster_id/$spark_context_id. L’interfaccia utente di Spark continuerà a essere disponibile al termine dell'esecuzione.
La risposta non includerà questo campo se l'identificatore non è ancora disponibile.

ClusterLogConf

Percorso del log del cluster.

Nome campo Tipo Descrizione
dbfs Percorso DBFS del log del cluster. È necessario specificare la destinazione. Ad esempio, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Importante

  • Quando si esegue un processo su un nuovo cluster di processi, il processo viene trattato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un lavoro su un cluster All-Purpose esistente, questo viene trattato come un lavoro interattivo di calcolo multiuso soggetto alla tariffazione del calcolo multiuso.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING O NewCluster Se existing_cluster_id, l'ID di un cluster esistente che sarà usato per tutte le esecuzioni di questo processo. Quando si eseguono processi in un cluster esistente, potrebbe essere necessario riavviare manualmente il cluster se smette di rispondere. È consigliabile eseguire i processi su nuovi cluster per una maggiore affidabilità.
Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.
Se si specifica una PipelineTask, questo campo può essere vuoto.
libraries Un elenco di Libreria Elenco facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un elenco vuoto.

ClusterTag

Definizione di tag del cluster.

Tipo Descrizione
STRING Chiave del tag. La chiave deve:
  • Lunghezza compresa tra 1 e 512 caratteri
  • Non contenere alcun carattere <>%*&+?\\/
  • Non iniziare con azure, microsofto windows
STRING Valore del tag. La lunghezza del valore deve essere minore o uguale a 256 caratteri UTF-8.

CronSchedule

Nome campo Tipo Descrizione
quartz_cron_expression STRING Espressione Cron che utilizza la sintassi di Quartz per descrivere la pianificazione di un'attività. Per informazioni dettagliate, vedere Trigger di Cron. Campo obbligatorio.
timezone_id STRING ID del fuso orario Java. La programmazione di un lavoro verrà determinata rispetto a questo fuso orario. Per informazioni dettagliate, vedere fuso orario Java. Campo obbligatorio.
pause_status STRING Indicare se il programma è sospeso o meno. "IN PAUSA" o "NON IN PAUSA".

DbfsStorageInfo

Informazioni sull'archiviazione DBFS.

Nome campo Tipo Descrizione
destination STRING Destinazione DBFS. Esempio: dbfs:/my/path

FileStorageInfo

Informazioni di archiviazione file.

Nota

Questo tipo di localizzazione è disponibile solo per i cluster configurati usando Servizi contenitore di Databricks.

Nome campo Tipo Descrizione
destination STRING Destinazione file. Esempio: file:/my/file.sh

InitScriptInfo

Percorso di uno script di inizializzazione.

Per istruzioni sull'uso di script init con Databricks Container Services, vedere Usare uno script init.

Nota

Il tipo di archiviazione file (nome campo: file) è disponibile solo per i cluster configurati usando Databricks Container Services. Vedere FileStorageInfo.

Nome campo Tipo Descrizione
workspace O dbfs (deprecato)
OR abfss
WorkspaceStorageInfo
DbfsStorageInfo (deprecato)
ABFSSStorageInfo
Posizione dell'area di lavoro dello script init. È necessario specificare la destinazione. Ad esempio:
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }
(Deprecato) Percorso DBFS dello script di inizializzazione. È necessario specificare la destinazione. Ad esempio:
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }
Percorso dello script di avvio di Azure Data Lake Storage (ADLS). È necessario specificare la destinazione. Ad esempio, { "abfss": { "destination" : "abfss://..." } }

Lavoro

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico per questo incarico.
creator_user_name STRING Nome utente dell'autore. Questo campo non verrà incluso nella risposta se l'utente è già stato eliminato.
run_as STRING Nome utente con cui verrà eseguito il processo. run_as si basa sulle impostazioni correnti del lavoro e viene assegnato al creatore del lavoro se il controllo di accesso al lavoro è disabilitato, o sull'autorizzazione is_owner se il controllo di accesso al lavoro è abilitato.
settings JobSettings Impostazioni per questo compito e tutte le sue esecuzioni. Queste impostazioni possono essere aggiornate usando il metodo resetJob.
created_time INT64 Ora in cui questo processo è stato creato in millisecondi di periodo (millisecondi dal 1/1/1970 UTC).

Notifiche Email di Lavoro

Importante

I campi on_start, on_success e on_failure accettano solo caratteri latini (set di caratteri ASCII). L'utilizzo di caratteri non ASCII restituirà un errore. Esempi di caratteri non validi non ASCII sono i caratteri cinesi, i kanji giapponesi e gli emoji.

Nome campo Tipo Descrizione
on_start Matrice di STRING. Elenco di indirizzi di posta elettronica per ricevere una notifica all'inizio di un'esecuzione di una sessione. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate.
on_success Matrice di STRING. Elenco di indirizzi di posta elettronica per ricevere una notifica al completamento di un'esecuzione. Un'esecuzione viene considerata completata correttamente se termina con TERMINATEDlife_cycle_state e SUCCESSFULresult_state. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate.
on_failure Matrice di STRING. Elenco di indirizzi di posta elettronica da notificare quando un'esecuzione non viene completata correttamente. Un'operazione è considerata non riuscita se termina con INTERNAL_ERROR
life_cycle_state o un SKIPPED, FAILED o un TIMED_OUT stato_risultato. Se non viene specificato durante la creazione, la reimpostazione oppure l'aggiornamento, l'elenco risulta vuoto e le notifiche non vengono inviate.
on_duration_warning_threshold_exceeded Matrice di STRING. Un elenco di indirizzi di posta elettronica da notificare quando la durata di un'esecuzione supera la soglia specificata per la metrica RUN_DURATION_SECONDS nel campo health. Se non viene specificata alcuna regola per la metrica RUN_DURATION_SECONDS nel campo health per il processo, le notifiche non vengono inviate.
no_alert_for_skipped_runs BOOL Se è vero, non inviare email ai destinatari specificati in on_failure se l'esecuzione viene ignorata.
Nome campo Tipo Descrizione
on_start Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica all'avvio di un'esecuzione. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate. Per la proprietà on_start è possibile specificare un massimo di 3 destinazioni.
on_success Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata correttamente. Un'esecuzione viene considerata completata correttamente se termina con TERMINATEDlife_cycle_state e SUCCESSFULresult_state. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate. Per la proprietà on_success è possibile specificare un massimo di 3 destinazioni.
on_failure Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata in modo non riuscito. Un'operazione è considerata non riuscita se termina con INTERNAL_ERROR
life_cycle_state o un SKIPPED, FAILED o un TIMED_OUT stato_risultato. Se non viene specificato durante la creazione, la reimpostazione oppure l'aggiornamento, l'elenco risulta vuoto e le notifiche non vengono inviate. Per la proprietà on_failure è possibile specificare un massimo di 3 destinazioni.
on_duration_warning_threshold_exceeded Matrice di Webhook Un elenco facoltativo di destinazioni di sistema da notificare quando la durata di un'esecuzione supera la soglia specificata per la metrica RUN_DURATION_SECONDS nel campo health. Per la proprietà on_duration_warning_threshold_exceeded è possibile specificare un massimo di 3 destinazioni.

ImpostazioniNotificheDiLavoro

Nome campo Tipo Descrizione
no_alert_for_skipped_runs BOOL Se vero, non inviare notifiche ai destinatari specificati in on_failure se l'esecuzione viene ignorata.
no_alert_for_canceled_runs BOOL Se true, non inviare notifiche ai destinatari specificati in on_failure se l'esecuzione viene annullata.
alert_on_last_attempt BOOL Se true, non inviare notifiche ai destinatari specificati in on_start per le esecuzioni ripetute e non inviare notifiche ai destinatari specificati in on_failure fino all'ultimo tentativo dell'esecuzione.

Impostazioni Lavoro

Importante

  • Quando si esegue un processo su un nuovo cluster di processi, il processo viene trattato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un lavoro su un cluster All-Purpose esistente, questo viene trattato come un lavoro interattivo di calcolo multiuso soggetto alla tariffazione del calcolo multiuso.

Impostazioni per un lavoro. Queste impostazioni possono essere aggiornate usando il metodo resetJob.

Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING O NewCluster Se existing_cluster_id, l'ID di un cluster esistente che sarà usato per tutte le esecuzioni di questo processo. Quando si eseguono processi in un cluster esistente, potrebbe essere necessario riavviare manualmente il cluster se smette di rispondere. È consigliabile eseguire i processi su nuovi cluster per una maggiore affidabilità.
Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.
Se si specifica una PipelineTask, questo campo può essere vuoto.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task O run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Se è presente notebook_task, indica che questa attività deve eseguire un notebook. Questo campo potrebbe non essere specificato in combinazione con spark_jar_task.
Se spark_jar_task, indica che questo processo deve eseguire un file JAR.
Se spark_python_task, indica che questo processo deve eseguire un file Python.
Se spark_submit_task, indica che questo processo deve essere avviato dallo script di invio di Spark.
Se pipeline_task, indica che questo processo deve eseguire una pipeline DLT.
Se run_job_task, indica che questo job dovrebbe eseguire un altro job.
name STRING Nome facoltativo per il lavoro. Il valore predefinito è Untitled.
libraries Matrice di Libreria Elenco facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un elenco vuoto.
email_notifications JobEmailNotifications Un set facoltativo di indirizzi di posta elettronica che riceverà una notifica quando inizia o completa l'esecuzione del processo, nonché quando questo processo viene eliminato. Il comportamento predefinito consiste nel non inviare messaggi di posta elettronica.
webhook_notifications WebhookNotifications Set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, completa o non riesce.
notification_settings ImpostazioniNotificheLavorative Impostazioni di notifica facoltative usate durante l'invio di notifiche a ciascuno dei email_notifications e webhook_notifications per questo processo.
timeout_seconds INT32 Timeout facoltativo applicato a ogni esecuzione di questo processo. Il comportamento predefinito non prevede l'esecuzione di timeout.
max_retries INT32 Numero massimo facoltativo di nuovi tentativi dopo un'esecuzione non riuscita. Un'esecuzione viene considerata non riuscita se viene completata con il result_state FAILED o
INTERNAL_ERROR
life_cycle_state. Il valore -1 significa riprovare all'infinito e il valore 0 significa non riprovare mai. Il comportamento predefinito è di non riprovare mai.
min_retry_interval_millis INT32 Intervallo minimo facoltativo in millisecondi tra i tentativi. Il comportamento predefinito prevede che le esecuzioni non riuscite vengano immediatamente ritentate.
retry_on_timeout BOOL Un criterio opzionale per specificare se ripetere un lavoro quando si verifica un timeout. Il comportamento predefinito è di non ripetere in caso di timeout.
schedule CronSchedule Pianificazione periodica facoltativa per questa attività. Il comportamento predefinito prevede che il processo sia eseguito quando viene attivato facendo clic su “Esegui ora” nell'interfaccia utente dei processi o inviando una richiesta API a
runNow.
max_concurrent_runs INT32 Numero massimo consentito facoltativo di esecuzioni simultanee del lavoro.
Impostare questo valore se si vuole essere in grado di eseguire più esecuzioni dello stesso processo contemporaneamente. Ciò è utile, ad esempio, se si attiva il processo in base a una pianificazione frequente e si vuole consentire le esecuzioni consecutive di sovrapporsi tra loro oppure se si desidera attivare più esecuzioni che differiscono in base ai relativi parametri di input.
Questa impostazione influisce solo sulle nuove esecuzioni. Ad esempio, si supponga che la concorrenza del processo sia 4 e che ci siano 4 esecuzioni simultanee attive. Impostare quindi la concorrenza su 3 non causerà l'interruzione delle esecuzioni attive. Tuttavia, da quel momento in poi, le nuove corse saranno ignorate a meno che non siano presenti meno di 3 corse attive.
Questo valore non può superare 1000. Se si imposta questo valore su 0, tutte le nuove esecuzioni verranno ignorate. Il comportamento predefinito è consentire solo un'esecuzione simultanea.
health RegoleSaluteLavori Set facoltativo di regole di salute definite per il lavoro.

Compito di Lavoro

Nome campo Tipo Descrizione
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task O run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Se è presente notebook_task, indica che questo compito deve eseguire un notebook. Questo campo potrebbe non essere specificato in combinazione con spark_jar_task.
Se spark_jar_task, indica che questo processo deve eseguire un file JAR.
Se spark_python_task, indica che questo processo deve eseguire un file Python.
Se spark_submit_task, indica che questo processo deve essere avviato dallo script di invio di Spark.
Se pipeline_task, indica che questo processo deve eseguire una pipeline DLT.
Se run_job_task, indica che questo job dovrebbe eseguire un altro job.

RegolaSaluteDelLavoro

Nome campo Tipo Descrizione
metric STRING Specifica la metrica di salute che viene valutata per una determinata regola di salute. I valori validi sono RUN_DURATION_SECONDS.
operator STRING Specifica l'operatore usato per confrontare il valore della metrica di integrità con la soglia specificata. I valori validi sono GREATER_THAN.
value INT32 Specifica il valore soglia che la metrica di integrità deve soddisfare per essere conforme alla regola di integrità.

RegoleSaluteLavoro

Nome campo Tipo Descrizione
rules Matrice di JobsHealthRule Set facoltativo di regole di salute che possono essere definite per un lavoro.

Biblioteca

Nome campo Tipo Descrizione
jar O egg O whl O
pypi O maven O cran
STRING o STRING o STRING o PythonPyPiLibrary o MavenLibrary o RCranLibrary Se si tratta di un JAR, URI del file JAR da installare. Sono supportati gli URI di DBFS e ADLS (abfss). Ad esempio: { "jar": "dbfs:/mnt/databricks/library.jar" } oppure
{ "jar": "abfss://<container-path>/library.jar" }. Se si usa ADLS, assicurarsi che il cluster abbia accesso di lettura alla libreria.
Se egg, URI dell'egg da installare. Sono supportati gli URI di DBFS e ADLS (). Ad esempio: { "egg": "dbfs:/my/egg" } oppure
{ "egg": "abfss://<container-path>/egg" }.
Se è un whl, l'URI del wheel o del wheels compresso da installare. Sono supportati gli URI di DBFS e ADLS (). Ad esempio: { "whl": "dbfs:/my/whl" } oppure
{ "whl": "abfss://<container-path>/whl" }. Assicurarsi che, se si usa ADLS, il cluster abbia accesso in lettura alla libreria. Inoltre, il nome del file wheel deve usare la convenzione corretta. Se devono essere installati wheels zippati, il suffisso del nome del file deve essere .wheelhouse.zip.
Se pypi, specifica di una libreria PyPI da installare. Specificare il campo repo è facoltativo e, se non specificato, viene usato l'indice pip predefinito. Ad esempio:
{ "package": "simplejson", "repo": "https://my-repo.com" }
Nel caso di Maven, specifica una libreria Maven da installare. Ad esempio:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }
Nel caso di cran, la specifica di una libreria CRAN da installare.

MavenLibrary

Nome campo Tipo Descrizione
coordinates STRING Coordinate stile Gradle di Maven. Ad esempio: org.jsoup:jsoup:1.7.2. Campo obbligatorio.
repo STRING Repository Maven da cui installare il pacchetto Maven. Se omesso, vengono cercati sia il repository centrale Maven che i pacchetti Spark.
exclusions Matrice di STRING. Elenco delle dipendenze da escludere. Ad esempio: ["slf4j:slf4j", "*:hadoop-client"].
Esclusioni delle dipendenze Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Nome campo Tipo Descrizione
num_workers O autoscale INT32 O AutoScale Se num_workers è specificato, il numero di nodi di lavoro che questo cluster dovrebbe avere. Un cluster ha un driver Spark e num_workers executor per un totale di num_workers + 1 nodi Spark.
Nota: quando si leggono le proprietà di un cluster, questo campo riflette il numero desiderato di ruoli di lavoro anziché il numero corrente effettivo di ruoli di lavoro. Ad esempio, se un cluster viene ridimensionato da 5 a 10 ruoli di lavoro, questo campo verrà immediatamente aggiornato in modo da riflettere le dimensioni di destinazione di 10 ruoli di lavoro, mentre i ruoli di lavoro elencati in spark_info aumentano gradualmente da 5 a 10 man mano che viene effettuato il provisioning dei nuovi nodi.
Se la scalabilità automatica è attiva, sono necessari i parametri per ridimensionare automaticamente i cluster in base al carico.
spark_version STRING Versione Spark del cluster. È possibile recuperare un elenco delle versioni di Spark disponibili usando la chiamata 2.0/clusters/spark-versions. Campo obbligatorio.
spark_conf SparkConfPair Oggetto contenente un set di coppie chiave-valore di configurazione Spark specificate dall'utente facoltative. È anche possibile passare una stringa di opzioni JVM aggiuntive al driver e agli executor tramite
spark.driver.extraJavaOptions e spark.executor.extraJavaOptions rispettivamente.
Configurazioni di esempio di Spark:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oppure
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Questo campo codifica, con un solo valore, le risorse disponibili in ognuno dei nodi Spark del cluster. Ad esempio, è possibile effettuare il provisioning e ottimizzare i nodi Spark per carichi di lavoro a elevato utilizzo di memoria o calcolo Un elenco di tipi di nodo disponibili può essere recuperato usando la chiamata GET 2.0/clusters/list-node-types. Questo campo, il campo instance_pool_id o un criterio del cluster che specifica un ID del tipo di nodo o un ID pool di istanze, è obbligatorio.
driver_node_type_id STRING Tipo di nodo del driver Spark. Questo campo è facoltativo; se non impostato, il tipo di nodo del driver viene impostato sullo stesso valore di node_type_id definito in precedenza.
custom_tags ClusterTag Oggetto contenente un set di tag per le risorse del cluster. Databricks contrassegna tutte le risorse del cluster (ad esempio le VM) con questi tag oltre a default_tags.
Nota:
  • I tag non sono supportati nei tipi di nodo legacy, ad esempio ottimizzati per il calcolo e ottimizzati per la memoria
  • Databricks consente al massimo 45 tag personalizzati
cluster_log_conf ClusterLogConf Configurazione per il recapito dei log spark a una destinazione di archiviazione a lungo termine. È possibile specificare una sola destinazione per un cluster. Se viene specificato il conf, i log verranno recapitati alla destinazione ogni 5 mins. La destinazione dei log del driver è <destination>/<cluster-id>/driver, mentre la destinazione dei log dell'executor è <destination>/<cluster-id>/executor.
init_scripts Matrice di InitScriptInfo Configurazione per l'archiviazione di script init. È possibile specificare qualsiasi numero di script. Gli script vengono eseguiti in sequenza nell'ordine specificato. Se cluster_log_conf viene specificato, i log di script init vengono inviati a
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Oggetto contenente un set di coppie chiave-valore della variabile di ambiente specificate dall'utente facoltative. La coppia chiave-valore del modulo (X,Y) viene esportata così come è (ad esempio,
export X='Y') durante l'avvio del conducente e dei lavoratori.
Per specificare un set aggiuntivo di SPARK_DAEMON_JAVA_OPTS, è consigliabile aggiungerli a $SPARK_DAEMON_JAVA_OPTS come illustrato nell'esempio seguente. In questo modo vengono comprese anche tutte le variabili ambientali predefinite gestite da Databricks.
Variabili di ambiente Spark di esempio:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oppure
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Scalabilità automatica dell'archiviazione locale: se abilitato, il cluster acquisisce dinamicamente spazio aggiuntivo su disco quando i worker Spark stanno esaurendo lo spazio su disco. Per informazioni dettagliate, vedere Abilitare la scalabilità automatica dell'archiviazione locale.
driver_instance_pool_id STRING ID facoltativo del pool di istanze da usare per il nodo driver. È necessario specificare anche instance_pool_id. Per informazioni dettagliate, vedere API dei pool di istanze.
instance_pool_id STRING ID facoltativo del pool di istanze da usare per i nodi del cluster. Se driver_instance_pool_id è presente,
instance_pool_id viene usato solo per i nodi di lavoro. In caso contrario, viene usato sia per il nodo del driver che per i nodi di lavoro. Per informazioni dettagliate, vedere API dei pool di istanze.

Output del Notebook

Nome campo Tipo Descrizione
result STRING Valore passato a dbutils.notebook.exit(). Azure Databricks limita questa API per restituire il primo 1 MB del valore. Per un risultato più grande, la tua attività può archiviare i risultati in un servizio di archiviazione cloud. Questo campo sarà assente se dbutils.notebook.exit() non è mai stato chiamato.
truncated BOOLEAN Indica se il risultato è stato troncato o meno.

NotebookTask

Tutte le celle di output sono soggette alle dimensioni di 8 MB. Se l'output di una cella ha una dimensione maggiore, il resto della corsa verrà annullato e la corsa verrà contrassegnata come non riuscita. In tal caso, anche alcuni contenuti prodotti da altre celle potrebbero non essere presenti.

Se hai bisogno di aiuto per individuare la cella che supera il limite, esegui il notebook su un cluster multiuso e usa questa tecnica di salvataggio automatico del notebook.

Nome campo Tipo Descrizione
notebook_path STRING Il percorso assoluto del notebook da eseguire nell'area di lavoro di Azure Databricks. Questo percorso deve iniziare con una barra. Campo obbligatorio.
revision_timestamp LONG Data e ora della revisione del notebook.
base_parameters Mappa di ParamPair Parametri di base da usare per ogni esecuzione di questo processo. Se l'esecuzione viene avviata da una chiamata a run-now con i parametri specificati, verranno unite le due mappe dei parametri. Se la stessa chiave viene specificata in base_parameters e in run-now, verrà usato il valore da run-now.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.
Se il notebook accetta un parametro non specificato nei parametri base_parameters del job o nei parametri di override run-now, verrà usato il valore predefinito del notebook.
Recuperare questi parametri in un notebook usando dbutils.widgets.get.

ParamPair

Parametri basati su nomi per i processi che eseguono attività del notebook.

Importante

I campi in questa struttura di dati accettano solo caratteri latini (set di caratteri ASCII). L'utilizzo di caratteri non ASCII restituirà un errore. Esempi di caratteri non validi non ASCII sono i caratteri cinesi, i kanji giapponesi e gli emoji.

Tipo Descrizione
STRING Nome del parametro. Vai a dbutils.widgets.get per recuperare il valore.
STRING Valore del parametro.

PipelineTask

Nome campo Tipo Descrizione
pipeline_id STRING Nome completo dell'attività della pipeline DLT da eseguire.

Libreria di PythonPyPi

Nome campo Tipo Descrizione
package STRING Nome del pacchetto PyPI da installare. È supportata anche una specifica di versione esatta facoltativa. Esempi: simplejson e simplejson==3.8.0. Campo obbligatorio.
repo STRING Repository in cui è possibile trovare il pacchetto. Se non specificato, viene utilizzato l'indice pip predefinito.

RCranLibrary

Nome campo Tipo Descrizione
package STRING Nome del pacchetto CRAN da installare. Campo obbligatorio.
repo STRING Repository in cui è possibile trovare il pacchetto. Se non specificato, viene utilizzato il repository CRAN predefinito.

Esegui

Tutte le informazioni su un'esecuzione ad eccezione del relativo output. L'output può essere recuperato separatamente con il metodo getRunOutput.

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del job che contiene questa esecuzione.
run_id INT64 Identificatore canonico della corsa (technical context). Questo ID è univoco per tutte le esecuzioni di tutti i processi.
creator_user_name STRING Nome utente dell'autore. Questo campo non verrà incluso nella risposta se l'utente è già stato eliminato.
number_in_job INT64 Numero di sequenza dell'esecuzione tra tutte le esecuzioni del job. Questo valore inizia da 1.
original_attempt_run_id INT64 Se questa esecuzione è una ripetizione di un tentativo di esecuzione precedente, questo campo contiene il run_id del tentativo originale; altrimenti, è uguale al run_id.
state RunState Stati del risultato e del ciclo di vita dell'esecuzione.
schedule CronSchedule Pianificazione cron che ha attivato questa esecuzione, se è stata attivata dal pianificatore periodico.
task JobTask Il compito svolto dal corso, se presente.
cluster_spec ClusterSpec Un'istantanea della specifica del cluster del job al momento della creazione di questa esecuzione.
cluster_instance ClusterInstance Il cluster utilizzato per questa esecuzione. Se l'esecuzione viene specificata per l'uso di un nuovo cluster, questo campo verrà impostato dopo che il servizio Processi ha richiesto un cluster per l'esecuzione.
overriding_parameters RunParameters Parametri utilizzati per questa esecuzione.
start_time INT64 Ora in cui questa esecuzione è stata avviata in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo potrebbe non essere il momento in cui l'attività del lavoro inizia a essere eseguita; ad esempio, se il lavoro è pianificato per essere eseguito in un nuovo cluster, questo è il momento in cui viene effettuata la chiamata per la creazione del cluster.
setup_duration INT64 Tempo necessario per configurare il cluster in millisecondi. Per le esecuzioni su nuovi cluster si tratta del tempo di creazione del cluster, mentre per le esecuzioni su cluster esistenti questo tempo dovrebbe essere molto breve.
execution_duration INT64 Tempo in millisecondi impiegato per eseguire i comandi nel JAR o nel notebook, fino al completamento, al fallimento, al timeout, all'annullamento o a un errore imprevisto.
cleanup_duration INT64 Tempo in millisecondi necessario per terminare il cluster e pulire gli elementi associati. La durata totale dell'esecuzione è la somma del setup_duration, del execution_duration e del cleanup_duration.
end_time INT64 Ora in cui questa esecuzione è terminata in millisecondi dell'epoca (millisecondi dal 01/01/1970 UTC). Questo campo verrà impostato su 0 se il processo è ancora in esecuzione.
trigger TriggerType Tipo di innesco che ha attivato questa esecuzione.
run_name STRING Un nome facoltativo per l'esecuzione. Il valore predefinito è Untitled. La lunghezza massima consentita è di 4096 byte nella codifica UTF-8.
run_page_url STRING URL della pagina dei dettagli dell'esecuzione.
run_type STRING Tipo di operazione.
  • JOB_RUN - Esecuzione normale del lavoro. Esecuzione creata con Esegui ora.
  • WORKFLOW_RUN - Esecuzione del flusso di lavoro. Esecuzione creata con dbutils.notebook.run.
  • SUBMIT_RUN - Invia esecuzione. Esecuzione creata con Esegui ora.
attempt_number INT32 Numero di sequenza di questo tentativo di esecuzione per un job attivato. Il tentativo iniziale di un'esecuzione ha un numero_tentativo uguale a 0. Se il tentativo di esecuzione iniziale ha esito negativo e il processo ha un criterio di ripetizione dei tentativi (max_retries> 0), le esecuzioni successive vengono create con un original_attempt_run_id dell’ID del tentativo originale e un incremento attempt_number. Le esecuzioni vengono ritentate solo fino a quando non hanno esito positivo e il valore massimo attempt_number corrisponde al valore max_retries per il processo.

RunJobTask

Nome campo Tipo Descrizione
job_id INT32 Identificatore univoco del processo da eseguire. Campo obbligatorio.

RunLifeCycleState

Stato del ciclo di vita di un processo. Le transazioni di stato consentite sono:

  • QUEUED ->PENDING
  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Stato Descrizione
QUEUED L'operazione è stata attivata ma è in coda perché ha raggiunto uno dei seguenti limiti:
  • Numero massimo di esecuzioni attive simultanee nell'area di lavoro.
  • L'attività simultanea Run Job massima viene eseguita nell'area di lavoro.
  • Numero massimo di esecuzioni simultanee del lavoro.

Il processo o l'esecuzione deve avere l'accodamento abilitato prima che possa raggiungere questo stato.
PENDING La corsa è stata attivata. Se viene già raggiunto il numero massimo di esecuzioni simultanee configurate del processo, l'esecuzione passerà immediatamente allo stato SKIPPED senza preparare alcuna risorsa. Altrimenti, la preparazione del cluster e l'esecuzione sono in corso.
RUNNING Il compito di questa esecuzione è in fase di esecuzione.
TERMINATING Il compito di questa operazione è stato completato e il contesto di esecuzione e il cluster vengono ripuliti.
TERMINATED L'attività di questa esecuzione è stata completata e il cluster insieme al contesto di esecuzione sono stati ripuliti. Questo stato è terminale.
SKIPPED L'esecuzione del lavoro è stata interrotta perché un'esecuzione precedente dello stesso lavoro era già attiva. Questo stato è terminale.
INTERNAL_ERROR Stato eccezionale che indica un fallimento nel servizio di gestione dei lavori, come un'interruzione di rete per un periodo prolungato. Se un'esecuzione in un nuovo cluster termina nello stato INTERNAL_ERROR, il servizio Processi termina il cluster il prima possibile. Questo stato è terminale.

RunParameters

Parametri per questa esecuzione. Nella richiesta, dovrebbe essere specificato solo uno tra jar_params, python_params, o notebook_params, in base al tipo di attività del processo. I processi con l'attività SPARK JAR o l'attività Python accettano un elenco di parametri basati sulla posizione e i processi con le attività del notebook accettano una mappa dei valori chiave.

Nome campo Tipo Descrizione
jar_params Matrice di STRING. Elenco di parametri per i processi con attività JAR Spark, ad esempio "jar_params": ["john doe", "35"]. I parametri verranno usati per richiamare la funzione principale della classe principale specificata nell'attività SPARK JAR. Se non specificato in run-now, per impostazione predefinita verrà visualizzato un elenco vuoto. jar_params non può essere specificato in combinazione con notebook_params. La rappresentazione JSON di questo campo (ad esempio {"jar_params":["john doe","35"]}) non può superare i 10.000 byte.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.
notebook_params Mappa di ParamPair Mappa da chiavi a valori per i processi con attività notebook, ad esempio
"notebook_params": {"name": "john doe", "age": "35"}. La mappa viene passata al notebook ed è accessibile tramite la funzione dbutils.widgets.get.
Se non specificato in run-now, l'esecuzione attivata usa i parametri di base del processo.
notebook_params non può essere specificato in combinazione con jar_params.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.
La rappresentazione JSON di questo campo (ad esempio,
{"notebook_params":{"name":"john doe","age":"35"}}) non può superare 10.000 byte.
python_params Matrice di STRING. Elenco di parametri per i processi con attività Python, ad esempio "python_params": ["john doe", "35"]. I parametri vengono passati al file Python come parametri della riga di comando. Se specificato in run-now, sovrascriverà i parametri specificati nelle impostazioni del lavoro. La rappresentazione JSON di questo campo (ad esempio {"python_params":["john doe","35"]}) non può superare i 10.000 byte.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.
Questi parametri accettano solo caratteri latini (set di caratteri ASCII). L'utilizzo di caratteri non ASCII restituirà un errore. Esempi di caratteri non validi non ASCII sono i caratteri cinesi, i kanji giapponesi e gli emoji.
spark_submit_params Matrice di STRING. Elenco di parametri per i lavori con attività di invio tramite Spark, ad esempio
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. I parametri vengono passati allo script spark-submit come parametri della riga di comando. Se specificato in run-now, sovrascriverà i parametri specificati nelle impostazioni del lavoro. La rappresentazione JSON di questo campo (ad esempio {"python_params":["john doe","35"]}) non può superare i 10.000 byte.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.
Questi parametri accettano solo caratteri latini (set di caratteri ASCII). L'utilizzo di caratteri non ASCII restituirà un errore. Esempi di caratteri non validi non ASCII sono i caratteri cinesi, i kanji giapponesi e gli emoji.

RunResultState

Lo stato del risultato dell'esecuzione.

  • Se life_cycle_state = TERMINATED: se l'esecuzione aveva un task, il risultato è garantito e indica il risultato del task.
  • Se life_cycle_state = PENDING, RUNNING o SKIPPED lo stato del risultato non è disponibile.
  • Se life_cycle_state = TERMINATING o lifecyclestate = INTERNAL_ERROR: il risultato sarà disponibile se l'esecuzione contiene un task ed è riuscita ad avviarlo con successo.

Una volta disponibile, lo stato del risultato non cambia.

Stato Descrizione
SUCCESS Il compito è stato completato correttamente.
FAILED Il task è stato completato con un errore.
TIMEDOUT L'esecuzione è stata fermata dopo aver superato il tempo limite.
CANCELED L'esecuzione è stata annullata su richiesta dell'utente.

RunState

Nome campo Tipo Descrizione
life_cycle_state RunLifeCycleState Descrizione della posizione corrente di un'esecuzione nel ciclo di vita dell'esecuzione. Questo campo è sempre disponibile nella risposta.
result_state RunResultState Stato del risultato di un'esecuzione. Se non è disponibile, la risposta non includerà questo campo. Per informazioni dettagliate sulla disponibilità di result_state, vedere RunResultState.
user_cancelled_or_timedout BOOLEAN Indica se un'esecuzione è stata annullata manualmente da un utente o dal pianificatore perché si è verificato il timeout dell'esecuzione.
state_message STRING Messaggio descrittivo per lo stato corrente. Il campo non è strutturato e il formato esatto è soggetto a modifiche.

SparkConfPair

Coppie chiave-valore di configurazione di Spark.

Tipo Descrizione
STRING Nome di una proprietà di configurazione.
STRING Il valore della proprietà di configurazione.

SparkEnvPair

Coppie chiave-valore della variabile di ambiente Spark.

Importante

Quando si specificano variabili di ambiente in un cluster di processo, i campi di questa struttura di dati accettano solo caratteri latini (set di caratteri ASCII). L'utilizzo di caratteri non ASCII restituirà un errore. Esempi di caratteri non validi non ASCII sono i caratteri cinesi, i kanji giapponesi e gli emoji.

Tipo Descrizione
STRING Nome della variabile di ambiente.
STRING Valore della variabile di ambiente.

SparkJarTask

Nome campo Tipo Descrizione
jar_uri STRING Deprecato dal 04/2016. In alternativa, specificare un jar tramite il campo libraries. Per un esempio, vedere Create.
main_class_name STRING Il nome completo della classe che contiene il metodo main da eseguire. Questa classe deve essere contenuta in un file JAR fornito come libreria.
Il codice deve usare SparkContext.getOrCreate per ottenere un contesto Spark. In caso contrario, le esecuzioni del processo avranno esito negativo.
parameters Matrice di STRING. Parametri passati al metodo main.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.

SparkPythonTask

Nome campo Tipo Descrizione
python_file STRING L'URI del file Python da eseguire. Sono supportati i percorsi DBFS. Campo obbligatorio.
parameters Matrice di STRING. Parametri della riga di comando passati al file Python.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.

Attività di invio di Spark

Importante

  • È possibile invocare le attività di invio di Spark solo sui nuovi cluster.
  • Nella specifica new_cluster, libraries e spark_conf non sono supportati. Usare invece --jars e --py-files per aggiungere librerie Java e Python e --conf per impostare la configurazione di Spark.
  • master, deploy-modee executor-cores vengono configurati automaticamente da Azure Databricks; non è possibile specificarli nei parametri.
  • Per impostazione predefinita, il processo di invio di Spark usa tutta la memoria disponibile (esclusa la memoria riservata per i servizi Azure Databricks). È possibile impostare --driver-memorye --executor-memory su un valore inferiore per lasciare spazio per l'utilizzo fuori heap.
  • Gli argomenti --jars, --py-files, --files supportano i percorsi DBFS.

Ad esempio, supponendo che il file JAR venga caricato in DBFS, è possibile eseguire SparkPi impostando i parametri seguenti.

{
  "parameters": ["--class", "org.apache.spark.examples.SparkPi", "dbfs:/path/to/examples.jar", "10"]
}
Nome campo Tipo Descrizione
parameters Matrice di STRING. Parametri della riga di comando passati a Spark Submit.
Usare Che cos'è un riferimento di valore dinamico? per impostare i parametri contenenti informazioni sulle esecuzioni del processo.

Tipo di Attivatore

Si tratta del tipo di trigger che possono generare un'esecuzione.

Tipo Descrizione
PERIODIC Programmazioni che attivano esecuzioni periodiche, come un pianificatore cron.
ONE_TIME I trigger univoci che attivano una singola esecuzione. Ciò si verifica quando è stata attivata una singola esecuzione su richiesta tramite l'interfaccia utente o l'API.
RETRY Indica un'operazione avviata per ritentare un'operazione precedentemente fallita. Ciò si verifica quando si richiede di eseguire nuovamente il processo in caso di errori.

VisualizzaElemento

Il contenuto esportato è in formato HTML. Ad esempio, se la visualizzazione da esportare è dashboard, viene restituita una stringa HTML per ogni dashboard.

Nome campo Tipo Descrizione
content STRING Contenuto della vista.
name STRING Nome dell’oggetto visualizzazione. Nel caso di visualizzazione del codice, il nome del notebook. Nel caso della vista del cruscotto, il nome del cruscotto.
type ViewType Tipo di elemento visualizzazione.

Tipo di visualizzazione

Tipo Descrizione
NOTEBOOK Visualizza elemento del notebook.
DASHBOARD Elemento della visualizzazione dashboard.

VisteDaEsportare

Visualizzazione da esportare: codice, tutti i dashboard o tutto.

Tipo Descrizione
CODE Visualizzazione del codice del notebook.
DASHBOARDS Tutte le visualizzazioni del dashboard del notebook.
ALL Tutte le visualizzazioni del notebook.

Webhook

Nome campo Tipo Descrizione
id STRING Identificatore che fa riferimento a una destinazione di notifica di sistema. Campo obbligatorio.

Notifiche Webhook

Nome campo Tipo Descrizione
on_start Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica all'avvio di un'esecuzione. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate. Per la proprietà on_start è possibile specificare un massimo di 3 destinazioni.
on_success Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata correttamente. Un'esecuzione viene considerata completata correttamente se termina con TERMINATEDlife_cycle_state e SUCCESSFULresult_state. Se non specificato durante la creazione, la reimpostazione o l'aggiornamento del processo, l'elenco è vuoto e le notifiche non vengono inviate. Per la proprietà on_success è possibile specificare un massimo di 3 destinazioni.
on_failure Matrice di Webhook Elenco facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata in modo non riuscito. Un'operazione è considerata non riuscita se termina con INTERNAL_ERROR
life_cycle_state o SKIPPED, FAILED o TIMED_OUTresult_state. Se non viene specificato durante la creazione, la reimpostazione oppure l'aggiornamento, l'elenco risulta vuoto e le notifiche non vengono inviate. Per la proprietà on_failure è possibile specificare un massimo di 3 destinazioni.
on_duration_warning_threshold_exceeded Matrice di Webhook Un elenco facoltativo di destinazioni di sistema da notificare quando la durata di un'esecuzione supera la soglia specificata per la metrica RUN_DURATION_SECONDS nel campo health. Per la proprietà on_duration_warning_threshold_exceeded è possibile specificare un massimo di 3 destinazioni.

WorkspaceStorageInfo

Informazioni di archiviazione sull'area di lavoro.

Nome campo Tipo Descrizione
destination STRING Destinazione file. Esempio: /Users/someone@domain.com/init_script.sh