API Processi 2.0
Importante
Questo articolo presenta la versione 2.0 dell'API Processi. Tuttavia, Databricks consiglia di usare API dei lavori 2.2 per client e 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 Processi è 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 è mai consigliabile impostare segreti hardcoded o archiviarli in testo normale. Utilizzare l'API Segreti per gestire i segreti nell'interfaccia della riga di comando di Databricks. Usare l'utilità per i segreti (dbutils.secrets) per fare riferimento ai segreti nei notebook e nei processi.
Nota
Se si riceve un errore di livello 500 durante l'esecuzione di richieste API Processi, Databricks consiglia di ripetere le richieste per un massimo di 10 min. (con un intervallo minimo di 30 secondi tra i tentativi).
Importante
Per accedere alle API REST di Databricks, è necessario eseguire l'autenticazione.
Create (Crea)
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/create |
POST |
Creare un nuovo processo.
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 esempioadb-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 carico di lavoro di calcolo multiuso (interattivo) soggetto ai prezzi di 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 Ospark_python_task O spark_submit_task Opipeline_task O run_job_task |
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask | Se notebook_task, indica che questo processo 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 job deve eseguire una pipeline di Delta Live Tables. Se run_job_task, indica che questo processo deve eseguire un altro processo. |
name |
STRING |
Nome facoltativo per il processo. Il valore predefinito è Untitled . |
libraries |
Matrice di Libreria | Un list facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un listvuoto. |
email_notifications |
JobEmailNotifications | Un set facoltativo di indirizzi di posta elettronica a cui vengono inviati avvisi quando l'esecuzione del processo inizia, viene completata e quando questo processo viene eliminato. Il comportamento predefinito consiste nel non inviare messaggi di posta elettronica. |
webhook_notifications |
WebhookNotifications | Un set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, viene completata o fallisce. |
notification_settings |
JobNotificationSettings | 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 oINTERNAL_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 questo processo. 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 facoltativo consentito di esecuzioni simultanee del processo. Set questo valore se si vuole poter 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 l'sovrapposizione delle esecuzioni consecutive tra loro oppure se si desidera attivare più esecuzioni che differiscono in base al relativo input parameters. 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. 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 |
Il identifier canonico per il lavoro appena creato. |
List
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/list |
GET |
List 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. | list di lavori. |
Delete
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/delete |
POST |
Eliminare un processo e inviare un messaggio di posta elettronica agli indirizzi specificati in JobSettings.email_notifications
. Se il processo è 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. Il processo deve essere rimosso al termine della richiesta. Tuttavia, le esecuzioni attive prima della ricezione di questa richiesta potrebbero essere ancora attive. Verranno terminate 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
con l'ID del processo, ad esempio123
.
In questo esempio viene usato un file .netrc.
Struttura della richiesta
Nome campo | Tipo | Descrizione |
---|---|---|
job_id |
INT64 |
Il identifier canonico del compito da eliminare. Campo obbligatorio. |
Get
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/get |
GET |
Recuperare informazioni su un singolo processo.
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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
con l'ID del processo, ad esempio123
.
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 |
Il identifier canonico del processo per recuperare informazioni al riguardo. Campo obbligatorio. |
Struttura della risposta
Nome campo | Tipo | Descrizione |
---|---|---|
job_id |
INT64 |
Il identifier 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 processo e tutte le relative esecuzioni. Queste impostazioni possono essere aggiornate usando gli endpoint Reset o Update. |
created_time |
INT64 |
Ora in cui questo processo è stato creato in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). |
Reset
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/reset |
POST |
Sovrascrivere tutte le impostazioni per un processo specifico. Usare l'endpoint Update per update le impostazioni del processo parzialmente.
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 esempioadb-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 |
Il identifier canonico del lavoro per reset. Campo obbligatorio. |
new_settings |
JobSettings | Nuove impostazioni del processo. 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. |
Update
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/update |
POST |
Aggiungere, modificare o remove impostazioni specifiche di un processo esistente. Usare l'endpoint Reset per sovrascrivere tutte le impostazioni delle attività lavorative.
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 esempioadb-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 |
Il identifier canonico del lavoro per update. Campo obbligatorio. |
new_settings |
JobSettings | Nuove impostazioni per il processo. 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 ojob_cluster_key e le voci della matrice con la stessa chiave vengono sostituite 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 . |
Remove campi di primo livello nelle impostazioni di lavoro. 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. |
Run now
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 massimo di processi che un'area di lavoro può creare in un'ora è 10000 (inclusi “run submit”). Questo limit influisce anche sui processi creati dall'API REST e dai flussi di lavoro dei notebook.
- Un'area di lavoro può contenere fino a 12000 processi salvati.
- Un processo può contenere fino a 100 task.
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/run-now |
POST |
Eseguire un processo ora e restituire l'oggetto run_id
dell'esecuzione attivata.
Suggerimento
Se si richiama
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 processo notebook:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Una richiesta di esempio per un processo 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 esempioadb-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 . |
Un list di parameters per i processi con attività JAR, ad esempio "jar_params": ["john doe", "35"] . Il parameters verrà usato per richiamare la funzione principale della classe principale specificata nell'attività SPARK JAR. Se non specificato in run-now , per impostazione predefinita sarà un listvuoto. 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 values 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.getSe non specificato in run-now , l'esecuzione attivata usa l'parametersdi 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 . |
Un list di parameters per lavori con attività Python, ad esempio "python_params": ["john doe", "35"] . Il parameters verrà passato al file Python come riga di comando parameters. Se specificato in run-now , sovrascriverà il parameters specificato nell'impostazione del processo. 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 . |
Un list di parameters per i job con attività di invio Spark, ad esempio"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Il parameters verrà fornito allo script spark-submit come parametro della riga di comando parameters. Se specificato in run-now , sovrascriverà il parameters specificato nell'impostazione del processo. 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 del processo. 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 altre informazioni, vedere Come garantire l'idempotenza per i processi. |
Struttura della risposta
Nome campo | Tipo | Descrizione |
---|---|---|
run_id |
INT64 |
ID univoco globale dell'esecuzione appena attivata. |
number_in_job |
INT64 |
Numero di sequenza di questa esecuzione tra tutte le esecuzioni del processo. |
Runs submit (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 massimo di processi che un'area di lavoro può creare in un'ora è 10000 (inclusi “run submit”). Questo limit influisce anche sui processi creati dall'API REST e dai flussi di lavoro dei notebook.
- Un'area di lavoro può contenere fino a 12000 processi salvati.
- Un processo può contenere fino a 100 task.
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/submit |
POST |
Inviare un'esecuzione una tantum. 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 esempioadb-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 carico di lavoro di calcolo multiuso (interattivo) soggetto ai prezzi di 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 Ospark_python_task O spark_submit_task Opipeline_task O run_job_task |
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask | Se notebook_task, indica che questo processo 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 job deve eseguire una pipeline di Delta Live Tables. Se run_job_task, indica che questo processo deve eseguire un altro processo. |
run_name |
STRING |
Nome facoltativo per l’ìesecuzione. Il valore predefinito è Untitled . |
webhook_notifications |
WebhookNotifications | Un set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, viene completata o fallisce. |
notification_settings |
JobNotificationSettings | Impostazioni di notifica facoltative usate durante l'invio di notifiche a ciascuno dei webhook_notifications per questo processo. |
libraries |
Matrice di Libreria | Un list facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un listvuoto. |
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 processo. 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 altre informazioni, vedere Come garantire l'idempotenza per i processi. |
Struttura della risposta
Nome campo | Tipo | Descrizione |
---|---|---|
run_id |
INT64 |
Il canonico identifier per l'esecuzione appena presentata. |
esecuzioni list
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/list |
GET |
List è ordinato in ordine decrescente in base all'ora di inizio.
Nota
Le esecuzioni vengono rimosse automaticamente dopo 60 giorni. Se si desidera farvi riferimento oltre 60 giorni, è consigliabile salvare i risultati di esecuzione precedenti prima della scadenza. 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
con l'ID del processo, ad esempio123
. - “
<true-false>
contrue
oppurefalse
”. -
<offset>
con il valoreoffset
. -
<limit>
con il valorelimit
. -
<run-type>
con il valorerun_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 TERMINATING RunLifecycleState. 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 |
Lavoro per cui list viene eseguito. Se omesso, il servizio Processi list viene eseguito da tutti i processi. |
offset |
INT32 |
Il offset della 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 limit pari a 0, il servizio userà invece il valore massimo limit. |
run_type |
STRING |
Tipi di esecuzione da restituire. Per una descrizione dei tipi di esecuzione, vedere Esecuzione. |
Struttura della risposta
Nome campo | Tipo | Descrizione |
---|---|---|
runs |
Matrice di Esecuzione. | Un elenco list di esecuzioni, dalla più recente avviata alla meno recente. |
has_more |
BOOL |
Se true, sono disponibili esecuzioni aggiuntive corrispondenti al filtro fornito per l'elenco. |
esecuzioni get
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Recuperare i metadati di un'esecuzione.
Nota
Le esecuzioni vengono rimosse automaticamente dopo 60 giorni. Se si desidera farvi riferimento oltre 60 giorni, è consigliabile salvare i risultati di esecuzione precedenti prima della scadenza. 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/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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
con l'ID dell'esecuzione, ad esempio123
.
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 |
Il identifier canonico dell'esecuzione per cui recuperare i metadati. Campo obbligatorio. |
Struttura della risposta
Nome campo | Tipo | Descrizione |
---|---|---|
job_id |
INT64 |
Il identifier canonico del lavoro che contiene questa esecuzione. |
run_id |
INT64 |
Il identifier canonico dell'esecuzione. Questo ID è univoco in tutte le esecuzioni di tutti i processi. |
number_in_job |
INT64 |
Numero di sequenza di questa esecuzione tra tutte le esecuzioni del processo. 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 | Task eseguito dall'esecuzione, se presente. |
cluster_spec |
ClusterSpec | Snapshot della specifica del cluster del processo al momento della creazione di questa esecuzione. |
cluster_instance |
ClusterInstance | Cluster usato per questa esecuzione. Se l'esecuzione è specificata per utilizzare un nuovo cluster, questo campo sarà impostato su set una volta che il servizio Processi avrà richiesto un cluster per l'esecuzione. |
overriding_parameters |
RunParameters | Il parameters è stato utilizzato 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 il task del processo inizia l'esecuzione, ad esempio se il processo è pianificato per l'esecuzione in un nuovo cluster, è il momento in cui viene eseguita la chiamata di creazione del cluster. |
end_time |
INT64 |
Ora in cui questa esecuzione termina in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo campo cambierà da set a 0 se il processo è ancora in esecuzione. |
setup_duration |
INT64 |
Il tempo in millisecondi impiegato per set 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 dell'esecuzione è la somma di setup_duration ,execution_duration e cleanup_duration . Il campo setup_duration è set a 0 per esecuzioni di attività multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore delcampo 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 è set a 0 per esecuzioni di attività 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 è set a 0 per esecuzioni di attività 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 è solo set per le esecuzioni di lavori multitasking e non per quelle di singole attività. La durata totale dell'esecuzione è la somma disetup_duration , execution_duration e cleanup_duration . |
trigger |
TriggerType | Tipo di trigger 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 delle esecuzioni
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/export |
GET |
Esportare e recuperare il task di esecuzione del processo.
Nota
Solo le esecuzioni di notebook possono essere esportate in formato HTML. L'esportazione di esecuzioni 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
con l'ID dell'esecuzione, ad esempio123
.
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 |
Il identifier canonico per l'esecuzione. Campo obbligatorio. |
views_to_export |
ViewsToExport | Quale views esportare (CODE, DASHBOARDS o ALL). Il valore predefinito è 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
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Annulla l'esecuzione di un processo. Poiché l'esecuzione viene annullata in modo asincrono, è possibile che l'esecuzione sia ancora in corso quando questa richiesta viene completata. L'esecuzione verrà terminata 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 parameters non valido restituisce 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
con l'ID dell'esecuzione, ad esempio123
.
In questo esempio viene usato un file .netrc.
Struttura della richiesta
Nome campo | Tipo | Descrizione |
---|---|---|
run_id |
INT64 |
Il identifier canonico del processo da annullare. Campo obbligatorio. |
Annullamento di tutte le esecuzioni
Endpoint | Metodo HTTP |
---|---|
2.0/jobs/runs/cancel-all |
POST |
Annullare tutte le esecuzioni attive di un processo. 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 parameters non valido restituisce 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
con l'ID del processo, ad esempio123
.
In questo esempio viene usato un file .netrc.
Struttura della richiesta
Nome campo | Tipo | Descrizione |
---|---|---|
job_id |
INT64 |
Il identifier canonico del processo per annullare tutte le esecuzioni. Campo obbligatorio. |
esecuzioni output get
Endpoint | 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 parameters non valido restituisce il codice di stato HTTP 400.
Le esecuzioni vengono rimosse automaticamente dopo 60 giorni. Se si desidera farvi riferimento oltre 60 giorni, è consigliabile salvare i risultati di esecuzione precedenti prima della scadenza. 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/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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
con l'ID dell'esecuzione, ad esempio123
.
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 |
Il identifier canonico per l'esecuzione. Per un processo con più task, si tratta dell'esecuzione run_id di un task. Vedere Run get 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 task del notebook che termina (correttamente o con un errore) senza chiamaredbutils.notebook.exit() viene considerato come avente un output vuoto. Questo campo sarà set, tuttavia 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 esecuzioni
Endpoint | 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 esempioadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
con l'ID dell'esecuzione, ad esempio123
.
In questo esempio viene usato un file .netrc.
Struttura della richiesta
Nome campo | Tipo | Descrizione |
---|---|---|
run_id |
INT64 |
Il identifier canonico dell'esecuzione per cui recuperare i metadati. |
Strutture dei dati
Contenuto della sezione:
- ABFSSStorageInfo
- AutoScale
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Mansione
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Library
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Run
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- WorkspaceStorageInfo
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 ruoli di lavoro del cluster.
Nome campo | Tipo | Descrizione |
---|---|---|
min_workers |
INT32 |
Numero minimo di ruoli di lavoro a cui il cluster può ridurre le prestazioni quando è sottoutilizzato. È anche il numero iniziale di ruoli di lavoro che il cluster avrà dopo la creazione. |
max_workers |
INT32 |
Numero massimo di ruoli di lavoro a cui il cluster può aumentare le prestazioni durante l'overload. max_workers deve essere strettamente maggiore di min_workers. |
AzureAttributes
Gli attributi set correlati ad Azure durante la creazione del cluster.
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 set a un valore superiore o uguale al prezzo spot corrente. È possibile anche impostare set 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 |
Usare istanze spot. |
ON_DEMAND_AZURE |
Usare 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 values insieme identificano un contesto di esecuzione in tutto il tempo.
Nome campo | Tipo | Descrizione |
---|---|---|
cluster_id |
STRING |
Il identifier canonico per il cluster utilizzato da un'esecuzione di un processo. 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 il identifier non è ancora disponibile. |
spark_context_id |
STRING |
Il identifier canonico per il contesto Spark usato da un'operazione. Questo campo verrà compilato dopo l'inizio dell'esecuzione. 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 il identifier 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 carico di lavoro di calcolo multiuso (interattivo) soggetto ai prezzi di 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 |
Matrice di Libreria | Un list facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un listvuoto. |
ClusterTag
Definizione di tag del cluster.
Tipo | Descrizione |
---|---|
STRING |
Chiave del tag. La chiave deve: - Avere una lunghezza compresa tra 1 e 512 caratteri - Non contenere nessuno dei caratteri <>%*&+?\\/ - Non iniziare con azure , microsoft o 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 di Cron che utilizza la sintassi di Quartz per descrivere la pianificazione di un processo. Per informazioni dettagliate, vedere Trigger di Cron. Campo obbligatorio. |
timezone_id |
STRING |
Un ID Java timezone. La pianificazione per un processo verrà risolta in relazione a questa timezone. Per informazioni dettagliate, vedere Java TimeZone. Campo obbligatorio. |
pause_status |
STRING |
Indicare se la pianificazione è sospesa o meno. "PAUSED" o "UNPAUSED". |
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 località è disponibile solo per i cluster set usando Databricks Container Services.
Nome campo | Tipo | Descrizione |
---|---|---|
destination |
STRING |
Destinazione file. Esempio: file:/my/file.sh |
InitScriptInfo
Percorso di uno script init.
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 set a partire dall'utilizzo di Databricks Container Services. Vedere FileStorageInfo.
Nome campo | Tipo | Descrizione |
---|---|---|
workspace OR 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 init. È necessario specificare la destinazione. Ad esempio: { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Percorso di Azure Data Lake Storage (ADLS) dello script init. È necessario specificare la destinazione. Ad esempio, { "abfss": { "destination" : "abfss://..." } } |
Job
Nome campo | Tipo | Descrizione |
---|---|---|
job_id |
INT64 |
Il identifier 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 attuali del lavoro ed è set al creatore del lavoro se il controllo di accesso al lavoro è disabilitato, o l'autorizzazione is_owner se il controllo di accesso al lavoro è abilitato. |
settings |
JobSettings | Impostazioni per questo processo e tutte le relative 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). |
JobEmailNotifications
Importante
I campi on_start, on_success e on_failure accettano solo caratteri latini (carattere ASCII set). 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 . |
Un list di indirizzi di posta elettronica per ricevere una notifica quando un'esecuzione inizia. Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. |
on_success |
Matrice di STRING . |
Un list di indirizzi di posta elettronica per ricevere una notifica quando un'esecuzione viene completata correttamente. Un'esecuzione viene considerata completata correttamente se termina con TERMINATED life_cycle_state e SUCCESSFUL result_state . Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. |
on_failure |
Matrice di STRING . |
Un list di indirizzi di posta elettronica per ricevere una notifica al completamento di un'esecuzione non riuscita. Un'esecuzione è considerata completata senza successo se termina con INTERNAL_ERROR life_cycle_state o SKIPPED , FAILED o result_state TIMED_OUT . Se non specificato durante la creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. |
on_duration_warning_threshold_exceeded |
Matrice di STRING . |
Un list di indirizzi di posta elettronica per ricevere una notifica 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 true, non inviare un messaggio di posta elettronica a recipients specificato in on_failure se l'esecuzione viene ignorata. |
Nome campo | Tipo | Descrizione |
---|---|---|
on_start |
Matrice di Webhook | Un list facoltativo di destinazioni di sistema per ricevere una notifica all'avvio di un'esecuzione. Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. Per la proprietà on_start è possibile specificare un massimo di 3 destinazioni. |
on_success |
Matrice di Webhook | Un list facoltativo delle destinazioni del sistema da notificare quando un'operazione viene completata con successo. Un'esecuzione viene considerata completata correttamente se termina con TERMINATED life_cycle_state e SUCCESSFUL result_state . Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. Per la proprietà on_success è possibile specificare un massimo di 3 destinazioni. |
on_failure |
Matrice di Webhook | Un list facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata in modo non riuscito. Un'esecuzione è considerata completata senza successo se termina con INTERNAL_ERROR life_cycle_state o SKIPPED , FAILED o result_state TIMED_OUT . Se non specificato durante la creazione del lavoro, reseto update, il list è 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 list facoltativo di destinazioni di sistema per ricevere una notifica 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. |
JobNotificationSettings
Nome campo | Tipo | Descrizione |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Se vero, non inviare notifiche al recipients specificato nel on_failure se l'esecuzione viene ignorata. |
no_alert_for_canceled_runs |
BOOL |
Se vero, non inviare notifiche a recipients specificato in on_failure se l'esecuzione viene annullata. |
alert_on_last_attempt |
BOOL |
Se vero, non inviare notifiche a recipients come specificato in on_start per i tentativi ripetuti e non inviare notifiche a recipients come specificato in on_failure fino all'ultimo tentativo dell'esecuzione corrente. |
JobSettings
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 carico di lavoro di calcolo multiuso (interattivo) soggetto ai prezzi di calcolo multiuso.
Impostazioni per un processo. 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 Ospark_python_task O spark_submit_task Opipeline_task O run_job_task |
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask | Se notebook_task, indica che questo processo 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 job deve eseguire una pipeline di Delta Live Tables. Se run_job_task, indica che questo processo deve eseguire un altro processo. |
name |
STRING |
Nome facoltativo per il processo. Il valore predefinito è Untitled . |
libraries |
Matrice di Libreria | Un list facoltativo di librerie da installare nel cluster che eseguirà il processo. Il valore predefinito è un listvuoto. |
email_notifications |
JobEmailNotifications | Un set facoltativo di indirizzi di posta elettronica che riceveranno notifiche quando il processo inizia o viene completato, così come quando questo processo viene eliminato. Il comportamento predefinito consiste nel non inviare messaggi di posta elettronica. |
webhook_notifications |
WebhookNotifications | Un set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, viene completata o fallisce. |
notification_settings |
JobNotificationSettings | 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 oINTERNAL_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 riprovare un processo quando si verifica il timeout. Il comportamento predefinito è di non riprovare al timeout. |
schedule |
CronSchedule | Pianificazione periodica facoltativa per questo processo. 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 arunNow . |
max_concurrent_runs |
INT32 |
Numero massimo facoltativo consentito di esecuzioni simultanee del processo. Set questo valore se si vuole poter 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 l'sovrapposizione delle esecuzioni consecutive tra loro oppure se si desidera attivare più esecuzioni che differiscono in base al relativo input parameters. 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. Quindi l'impostazione della concorrenza su 3 non comporta l'interruzione delle esecuzioni attive. Tuttavia, da allora, le nuove esecuzioni saranno 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. |
health |
JobsHealthRules | Un set facoltativo delle regole di salute definite per il lavoro. |
JobTask
Nome campo | Tipo | Descrizione |
---|---|---|
notebook_task O spark_jar_task Ospark_python_task O spark_submit_task Opipeline_task O run_job_task |
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask | Se notebook_task, indica che questo processo 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 job deve eseguire una pipeline di Delta Live Tables. Se run_job_task, indica che questo processo deve eseguire un altro processo. |
JobsHealthRule
Nome campo | Tipo | Descrizione |
---|---|---|
metric |
STRING |
Specifica la metrica di integrità valutata per una determinata regola di integrità. I valori values 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 values validi sono GREATER_THAN . |
value |
INT32 |
Specifica il valore soglia che la metrica di integrità deve soddisfare per essere conforme alla regola di integrità. |
JobsHealthRules
Nome campo | Tipo | Descrizione |
---|---|---|
rules |
Matrice di JobsHealthRule | Un set facoltativo delle regole di salute che possono essere definite per un'attività. |
Library
Nome campo | Tipo | Descrizione |
---|---|---|
jar O egg O whl Opypi O maven O cran |
STRING O STRING O STRING O PythonPyPiLibrary O MavenLibrary O RCranLibrary |
Se 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, verificare che il cluster abbia accesso in lettura alla libreria.Se egg, URI del file egg da installare. Sono supportati gli URI di DBFS e ADLS (). Ad esempio: { "egg": "dbfs:/my/egg" } oppure{ "egg": "abfss://<container-path>/egg" } .Se whl, URI di wheel o wheels compressi da installare. Sono supportati gli URI di DBFS e ADLS (). Ad esempio: { "whl": "dbfs:/my/whl" } oppure{ "whl": "abfss://<container-path>/whl" } . Se si usa ADLS, verificare che 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" } Se maven, specifica di una libreria Maven da installare. Ad esempio: { "coordinates": "org.jsoup:jsoup:1.7.2" } Se cran, specifica di una libreria CRAN da installare. |
MavenLibrary
Nome campo | Tipo | Descrizione |
---|---|---|
coordinates |
STRING |
Coordinate Maven di tipo Gradle. 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 . |
List di 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, numero di nodi del ruolo di lavoro che il cluster dovrebbe avere. Un cluster ha un driver Spark e num_ruoli_lavoro executor per un totale di num_ruoli_lavoro + 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 è necessaria, parameters è richiesto per ridimensionare automaticamente i cluster in base al carico. |
spark_version |
STRING |
Versione Spark del cluster. È possibile recuperare un list di versioni di Spark disponibili usando la chiamata GET 2.0/clusters/spark-versions. Campo obbligatorio. |
spark_conf |
SparkConfPair | Oggetto contenente una 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 tramitespark.driver.extraJavaOptions e spark.executor.extraJavaOptions rispettivamente.Spark confs di esempio: {"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, e recuperare un list di tipi di nodo disponibili tramite 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 è set e ha lo stesso valore di node_type_id come definito in precedenza. |
custom_tags |
ClusterTag | Un oggetto contenente dei tag set 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 una set di coppie chiave-valore di variabile di ambiente facoltative specificate dall'utente. 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 allegarlo a $SPARK_DAEMON_JAVA_OPTS come illustrato nell'esempio seguente. In questo modo vengono comprese anche tutte le variabili di ambiente gestite di Databricks predefinite.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 abilitata, questo cluster acquisisce dinamicamente spazio aggiuntivo su disco quando i ruoli di lavoro 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. |
NotebookOutput
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ù ampio, il processo 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 output del contenuto di altre celle potrebbero non essere presenti.
Se hai bisogno di aiuto per trovare la cella che va oltre il limit, esegui il notebook in un cluster all-purpose e usa questa tecnica di salvataggio automatico del notebook .
Nome campo | Tipo | Descrizione |
---|---|---|
notebook_path |
STRING |
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 |
Timestamp della revisione del notebook. |
base_parameters |
Mappa di ParamPair | Base parameters da usare per ogni esecuzione di questo processo. Se l'esecuzione è avviata da una chiamata a run-now con parameters specificato, le due mappe parameters saranno unite. 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? a setparameters, contenente informazioni sulle esecuzioni dei job. Se il notebook prende un parametro che non è specificato nella base_parameters del job o nell'override run-now parameters, verrà usato il valore del notebook predefinito.Recupera questi parameters in un notebook utilizzando dbutils.widgets.get. |
ParamPair
parameters basati sui nomi per i lavori che eseguono compiti del notebook.
Importante
I campi in questa struttura di dati accettano solo caratteri latini (carattere ASCII set). 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 ottenere il valore. |
STRING |
Valore del parametro. |
PipelineTask
Nome campo | Tipo | Descrizione |
---|---|---|
pipeline_id |
STRING |
Nome completo del task della pipeline Delta Live Tables da eseguire. |
PythonPyPiLibrary
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 |
Il pacchetto può essere trovato nel repository where. 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 |
Il pacchetto può essere trovato nel repository where. Se non specificato, viene utilizzato il repository CRAN predefinito. |
Run
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 |
Il identifier canonico del lavoro che contiene questa esecuzione. |
run_id |
INT64 |
Il identifier canonico dell'esecuzione. Questo ID è univoco in 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 di questa esecuzione tra tutte le esecuzioni del processo. 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 | Task eseguito dall'esecuzione, se presente. |
cluster_spec |
ClusterSpec | Snapshot della specifica del cluster del processo al momento della creazione di questa esecuzione. |
cluster_instance |
ClusterInstance | Cluster usato per questa esecuzione. Se l'esecuzione è specificata per utilizzare un nuovo cluster, questo campo sarà impostato su set una volta che il servizio Processi avrà richiesto un cluster per l'esecuzione. |
overriding_parameters |
RunParameters | Il parameters è stato utilizzato 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 il task del processo inizia l'esecuzione, ad esempio se il processo è pianificato per l'esecuzione in un nuovo cluster, è il momento in cui viene eseguita la chiamata di creazione del cluster. |
setup_duration |
INT64 |
Tempo impiegato per set 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 termina in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo campo cambierà da set a 0 se il processo è ancora in esecuzione. |
trigger |
TriggerType | Tipo di trigger che ha attivato questa esecuzione. |
run_name |
STRING |
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 chiave di esecuzione. - JOB_RUN - Normale esecuzione del processo. Esecuzione creata con Esegui ora.- WORKFLOW_RUN - Esecuzione del flusso di lavoro. Esecuzione creata con dbutils.notebook.run.- SUBMIT_RUN - Inviare un'esecuzione. Esecuzione creata con Esegui ora. |
attempt_number |
INT32 |
Numero di sequenza di questo tentativo di esecuzione per un'esecuzione di processo attivata. Il tentativo iniziale di un'esecuzione ha un attempt_number pari 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 |
Valore univoco identifier del lavoro da eseguire. Campo obbligatorio. |
RunLifeCycleState
Stato del ciclo di vita di un'esecuzione. 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'esecuzione è stata attivata ma è in coda perché ha raggiunto uno dei limiti seguenti: - Numero massimo di esecuzioni attive simultanee nell'area di lavoro. - Il task simultaneo Run Job massimo viene eseguito nell'area di lavoro.- Numero massimo di esecuzioni simultanee del processo. Il processo o l'esecuzione deve avere l'accodamento abilitato prima che possa raggiungere questo stato. |
PENDING |
L'esecuzione è 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. In caso contrario, la preparazione del cluster e l'esecuzione è in corso. |
RUNNING |
Il task di questa esecuzione viene eseguito. |
TERMINATING |
Il task di questa esecuzione è stato completato e il contesto di esecuzione e il cluster vengono puliti. |
TERMINATED |
Il task di questa esecuzione è stato completato e il contesto di esecuzione e il cluster sono stati puliti. Questo stato è terminale. |
SKIPPED |
L'esecuzione è stata interrotta perché un'esecuzione precedente dello stesso processo era già attiva. Questo stato è terminale. |
INTERNAL_ERROR |
Stato eccezionale che indica un errore nel servizio Processi, ad esempio un errore di rete in un lungo periodo. 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
Parameters per questa esecuzione. Nella richiesta python_params
deve essere specificata una sola jar_params, run-now
o notebook_params, a seconda del tipo di task del processo.
I processi con l'attività SPARK JAR o l'attività Python accettano un list di processi basati sulla posizione parameterse i processi con le attività del notebook accettano una mappa dei valori chiave.
Nome campo | Tipo | Descrizione |
---|---|---|
jar_params |
Matrice di STRING . |
Un list di parameters per i lavori con compiti Spark JAR, ad esempio "jar_params": ["john doe", "35"] . Il parameters verrà usato per richiamare la funzione principale della classe principale specificata nell'attività SPARK JAR. Se non specificato in run-now , per impostazione predefinita sarà un listvuoto. 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? a setparameters, contenente informazioni sulle esecuzioni dei job. |
notebook_params |
Mappa di ParamPair | Mappa da chiavi a values 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.getSe non specificato in run-now , l'esecuzione attivata usa l'parametersdi base del processo.notebook_params non può essere specificato in combinazione con jar_params. Usare Che cos'è un riferimento di valore dinamico? a setparameters, contenente informazioni sulle esecuzioni dei job. 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 . |
Un list di parameters per lavori con attività Python, ad esempio "python_params": ["john doe", "35"] . I parameters vengono passati al file Python come riga di comando parameters. Se specificato in run-now , sovrascriverà il parameters specificato nell'impostazione del processo. 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? a setparameters, contenente informazioni sulle esecuzioni dei job. Questi parameters accettano solo caratteri latini (carattere ASCII set). 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 . |
Un list di parameters per i job con attività di invio Spark, ad esempio"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Il parameters viene passato allo script spark-submit come riga di comando parameters. Se specificato in run-now , sovrascriverà il parameters specificato nell'impostazione del processo. 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? a setparameters, contenente informazioni sulle esecuzioni dei job. Questi parameters accettano solo caratteri latini (carattere ASCII set). 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
Stato di 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
oSKIPPED
lo stato del risultato non è disponibile. - Se
life_cycle_state
=TERMINATING
o lifecyclestate =INTERNAL_ERROR
: lo stato del risultato è disponibile se l'esecuzione ha un task e ha gestito l'avvio.
Una volta disponibile, lo stato del risultato non cambia.
Stato | Descrizione |
---|---|
SUCCESS |
Il task è stato completato correttamente. |
FAILED |
Il task è stato completato con un errore. |
TIMEDOUT |
L'esecuzione è stata arrestata dopo aver raggiunto il timeout. |
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 Spark.
Tipo | Descrizione |
---|---|
STRING |
Nome configurazione proprietà. |
STRING |
La configurazione del valore proprietà. |
SparkEnvPair
Coppie chiave-valore della variabile di ambiente Spark.
Importante
Quando si specificano variabili di ambiente in un cluster di lavoro, i campi in questa struttura di dati accettano solo caratteri latini (carattere ASCII set). 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 deve essere eseguito. 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 . |
Il Parameters è stato passato al metodo main. Usare Che cos'è un riferimento di valore dinamico? a setparameters, contenente informazioni sulle esecuzioni dei job. |
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 . |
La riga di comando parameters passata al file Python. Usare Che cos'è un riferimento di valore dinamico? a setparameters, contenente informazioni sulle esecuzioni dei job. |
SparkSubmitTask
Importante
- È possibile invocare le attività di invio di Spark solo sui nuovi cluster.
- Nella specifica new_cluster,
libraries
espark_conf
non sono supportati. Usare invece--jars
e--py-files
per aggiungere librerie Java e Python e--conf
per set la configurazione di Spark. -
master
,deploy-mode
eexecutor-cores
vengono configurati automaticamente da Azure Databricks; non è possibile specificarli in parameters. - Per impostazione predefinita, il processo di invio di Spark usa tutta la memoria disponibile (esclusa la memoria riservata per i servizi Azure Databricks). È possibile modificare set,
--driver-memory
e--executor-memory
a un valore inferiore per lasciare spazio per l'utilizzo off-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 il parametersseguente.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Nome campo | Tipo | Descrizione |
---|---|---|
parameters |
Matrice di STRING . |
Riga di comando parameters passata al comando spark-submit. Usare Che cos'è un riferimento di valore dinamico? a setparameters, contenente informazioni sulle esecuzioni dei job. |
TriggerType
Si tratta del tipo di trigger che possono generare un'esecuzione.
Tipo | Descrizione |
---|---|
PERIODIC |
Pianifica l'esecuzione periodica del trigger, ad esempio un pianificatore cron. |
ONE_TIME |
Una sola volta i trigger 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'esecuzione attivata come tentativo di esecuzione precedentemente non riuscita. Ciò si verifica quando si richiede di eseguire nuovamente il processo in caso di errori. |
ViewItem
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 della visualizzazione codice, il nome del notebook. Nel caso della visualizzazione dashboard, il nome del dashboard. |
type |
ViewType | Tipo di elemento visualizzazione. |
ViewType
Tipo | Descrizione |
---|---|
NOTEBOOK |
Elemento della visualizzazione notebook. |
DASHBOARD |
Elemento della visualizzazione dashboard. |
ViewsToExport
Visualizzazione da esportare: codice, tutti i dashboard o tutto.
Tipo | Descrizione |
---|---|
CODE |
Visualizzazione codice del notebook. |
DASHBOARDS |
Tutti i dashboard views del notebook. |
ALL |
Tutti i views del notebook. |
Webhook
Nome campo | Tipo | Descrizione |
---|---|---|
id |
STRING |
Identifier fa riferimento a una destinazione di notifica di sistema. Campo obbligatorio. |
WebhookNotifications
Nome campo | Tipo | Descrizione |
---|---|---|
on_start |
Matrice di Webhook | Un list facoltativo di destinazioni di sistema per ricevere una notifica all'avvio di un'esecuzione. Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. Per la proprietà on_start è possibile specificare un massimo di 3 destinazioni. |
on_success |
Matrice di Webhook | Un list facoltativo delle destinazioni del sistema da notificare quando un'operazione viene completata con successo. Un'esecuzione viene considerata completata correttamente se termina con TERMINATED life_cycle_state e SUCCESSFUL result_state . Se non specificato al momento della creazione del lavoro, reseto update, il list è vuoto e le notifiche non vengono inviate. Per la proprietà on_success è possibile specificare un massimo di 3 destinazioni. |
on_failure |
Matrice di Webhook | Un list facoltativo di destinazioni di sistema per ricevere una notifica quando un'esecuzione viene completata in modo non riuscito. Un'esecuzione è considerata completata senza successo se termina con INTERNAL_ERROR life_cycle_state o SKIPPED , FAILED , o TIMED_OUT result_state . Se non specificato durante la creazione del lavoro, reseto update, il list è 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 list facoltativo di destinazioni di sistema per ricevere una notifica 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 |