Condividi tramite


API processi 2.0

Importante

Questo articolo illustra la versione 2.0 dell'API Processi. Databricks consiglia tuttavia di usare l'API processi 2.1 per client e script nuovi ed esistenti. Per informazioni dettagliate sulle modifiche dalle versioni dalla versione 2.0 alla 2.1, vedere Aggiornamento dall'API processi 2.0 alla versione 2.1.

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

Per informazioni dettagliate sugli aggiornamenti all'API Processi che supportano l'orchestrazione di più attività con i processi di Azure Databricks, vedere Aggiornamento dall'API dei processi 2.0 a 2.1.

Avviso

Non è mai consigliabile impostare segreti hardcoded o archiviarli in testo normale. Usare l'APISecrets 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 nei processi.

Nota

Se si riceve un errore di livello 500 durante l'esecuzione di richieste API di processi, 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.

Creare

Endpoint Metodo HTTP
2.0/jobs/create POST

Creare una nuova commessa.

Esempio

Questo esempio crea un processo che esegue un'attività JAR alle 10:15 di ogni notte.

Richiedi

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

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "job_id": 1
}

Struttura della richiesta

Importante

  • Quando si esegue un processo in un nuovo cluster di processi, il processo viene considerato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un processo in un cluster all-purpose esistente, viene considerato come un carico di lavoro di calcolo all-purpose (interattivo) soggetto ai prezzi di calcolo all-purpose.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING OR NewCluster Se existing_cluster_id, l'ID di un cluster esistente che verrà 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 processi in nuovi cluster per una maggiore affidabilità.

Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.

Se si specifica pipelineTask, questo campo può essere vuoto.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task O run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 spark.

Se pipeline_task, indica che questo processo deve eseguire una pipeline 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 librerie 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 avvisati quando l'esecuzione di questo processo inizia e completa 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 JobNotification Impostazioni Impostazioni di notifica facoltative usate durante l'invio email_notifications di notifiche a ognuno di e webhook_notifications per questo processo.
timeout_seconds INT32 Timeout facoltativo applicato a ogni esecuzione di questo processo. Il comportamento predefinito non prevede alcun timeout.
max_retries INT32 Numero massimo facoltativo di tentativi di esecuzione non riuscita. Un'esecuzione viene considerata non riuscita se viene completata con il FAILED result_state o
INTERNAL_ERROR
life_cycle_state. Il valore -1 indica di riprovare per un periodo illimitato e il valore 0 significa non riprovare mai. Il comportamento predefinito consiste nel non riprovare mai.
min_retry_interval_millis INT32 Intervallo minimo facoltativo in millisecondi tra l'inizio dell'esecuzione non riuscita e l'esecuzione successiva dei tentativi. Il comportamento predefinito è che le esecuzioni non riuscite vengono ritentate immediatamente.
retry_on_timeout BOOL Un criterio facoltativo per specificare se ripetere un processo quando si verifica il timeout. Il comportamento predefinito consiste nel non ritentare il timeout.
schedule CronSchedule Pianificazione periodica facoltativa per questo processo. Il comportamento predefinito è che il processo viene 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.

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. Si supponga, ad esempio, che la concorrenza del processo sia 4 e che siano presenti 4 esecuzioni attive simultanee. 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 consiste nell'consentire solo 1 esecuzione simultanea.

Struttura della risposta

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

Elenco

Endpoint Metodo HTTP
2.0/jobs/list GET

Consente di visualizzare un elenco di tutti i processi.

Esempio

Richiedi

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.

Questo esempio usa un file .netrc e jq.

Response

{
  "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 processi Elenco di processi.

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. Non viene eseguita alcuna azione se il processo è già stato rimosso. Dopo la rimozione del processo, né i relativi dettagli né la relativa cronologia di esecuzione sono visibili nell'interfaccia utente o nell'API dei processi. Il processo deve essere rimosso al termine della richiesta. Tuttavia, le esecuzioni attive prima della ricezione di questa richiesta potrebbero essere ancora attive. Verranno terminati in modo asincrono.

Esempio

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

Sostituzione:

In questo esempio viene usato un file .netrc .

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del processo da eliminare. Campo obbligatorio.

Ottieni

Endpoint Metodo HTTP
2.0/jobs/get GET

Recuperare informazioni su un singolo processo.

Esempio

Richiedi

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 .

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "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 processo su cui recuperare informazioni. Campo obbligatorio.

Struttura della risposta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico per questo processo.
creator_user_name STRING Nome utente autore. Questo campo non verrà incluso nella risposta se l'utente è stato eliminato.
settings Processo Impostazioni Impostazioni per questo processo e tutte le relative esecuzioni. Queste impostazioni possono essere aggiornate usando gli endpoint di reimpostazione o aggiornamento .
created_time INT64 Ora in cui questo processo è stato creato in millisecondi di periodo (millisecondi dal 1/1/1970 UTC).

Reimpostare

Endpoint Metodo HTTP
2.0/jobs/reset POST

Sovrascrivere tutte le impostazioni per un processo specifico. Usare l'endpoint di aggiornamento per aggiornare parzialmente le impostazioni del processo.

Esempio

Questa richiesta di esempio rende il processo 2 identico al processo 1 nell'esempio di creazione .

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

Sostituzione:

Questo esempio usa un file .netrc e jq.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del processo da reimpostare. Campo obbligatorio.
new_settings Processo Impostazioni 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.

Aggiornamento

Endpoint 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 processo.

Esempio

Questa richiesta di esempio rimuove le librerie e aggiunge le impostazioni di notifica tramite posta elettronica al processo 1 definito nell'esempio di creazione .

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

Sostituzione:

Questo esempio usa un file .netrc e jq.

Struttura della richiesta

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del processo da aggiornare. Campo obbligatorio.
new_settings Processo Impostazioni 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 o
job_cluster_keyLe voci della matrice e 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. Rimuovere i campi di primo livello nelle impostazioni del processo. La rimozione dei campi annidati non è supportata, ad eccezione delle tasks voci delle matrici 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 adesso

Importante

  • Un'area di lavoro è limitata a 1000 esecuzioni simultanee. 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 (include "esecuzioni di invio"). Questo limite influisce anche sui processi creati dall'API REST e dai flussi di lavoro del notebook.
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 Crea insieme a Esegui adesso, è possibile usare invece l'endpoint di invio Esecuzioni, che consente di inviare il carico di lavoro direttamente senza dover creare un processo.

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

Sostituzione:

Questo esempio usa 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.

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 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. Elenco di parametri per i processi con attività di invio 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 nell'impostazione del processo. La rappresentazione JSON di questo campo non può superare 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 tale 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.

Esecuzioni di invio

Importante

  • Un'area di lavoro è limitata a 1000 esecuzioni simultanee. 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 (include "esecuzioni di invio"). Questo limite influisce anche sui processi creati dall'API REST e dai flussi di lavoro del notebook.
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 controllare lo stato di esecuzione dopo l'invio del processo.

Esempio

Richiedi

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

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "run_id": 123
}

Struttura della richiesta

Importante

  • Quando si esegue un processo in un nuovo cluster di processi, il processo viene considerato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un processo in un cluster all-purpose esistente, viene considerato come un carico di lavoro di calcolo all-purpose (interattivo) soggetto ai prezzi di calcolo all-purpose.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING OR NewCluster Se existing_cluster_id, l'ID di un cluster esistente che verrà 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 processi in nuovi cluster per una maggiore affidabilità.

Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.

Se si specifica pipelineTask, questo campo può essere vuoto.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task O run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 spark.

Se pipeline_task, indica che questo processo deve eseguire una pipeline 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 Set facoltativo di destinazioni di sistema per notificare quando l'esecuzione di questo processo inizia, completa o non riesce.
notification_settings JobNotification Impostazioni Impostazioni di notifica facoltative usate durante l'invio webhook_notifications di notifiche a ognuna di per questa esecuzione.
libraries Matrice di librerie 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 alcun 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 tale 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 Identificatore canonico per l'esecuzione appena inviata.

Elenco esecuzioni

Endpoint Metodo HTTP
2.0/jobs/runs/list GET

L'elenco viene eseguito 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

Richiedi

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 .

Sostituzione:

  • <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 processo, ad esempio 123.
  • <true-false> con true o false.
  • <offset> con il offset valore .
  • <limit> con il limit valore .
  • <run-type> con il run_type valore .

Questo esempio usa un file .netrc e jq.

Response

{
  "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, elenca le esecuzioni attive e completate. Un'esecuzione attiva è un'esecuzione in PENDING, RUNNINGo TERMINATINGRunLifecycleState. Questo campo non può essere true quando completed_only è true.

Se completed_only è true, nei risultati vengono incluse solo le esecuzioni completate; in caso contrario, elenca le esecuzioni attive e completate. Questo campo non può essere true quando active_only è true.
job_id INT64 Processo per il quale elencare le esecuzioni. Se omesso, il servizio Processi elenca le esecuzioni da tutti i processi.
offset INT32 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 limite pari a 0, il servizio userà invece il limite massimo.
run_type STRING Tipo di esecuzioni da restituire. Per una descrizione dei tipi di esecuzione, vedere Eseguire.

Struttura della risposta

Nome campo Tipo Descrizione
runs Matrice di run Un elenco di esecuzioni, dall'ultimo inizio fino al minimo.
has_more BOOL Se true, sono disponibili esecuzioni aggiuntive corrispondenti al filtro fornito per l'elenco.

Esecuzione 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

Richiedi

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 .

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "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 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 è un nuovo tentativo di esecuzione precedente, questo campo contiene il run_id del tentativo originale; in caso contrario, corrisponde al run_id.
state RunState Stato del risultato e del ciclo di vita dell'esecuzione.
schedule CronSchedule Pianificazione cron che ha attivato questa esecuzione se è stata attivata dall'utilità di pianificazione periodica.
task JobTask Attività eseguita 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 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 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 l'esecuzione è terminata 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 eseguite in nuovi cluster questo è il tempo di creazione del cluster, per le esecuzioni eseguite in cluster esistenti questa volta dovrebbero essere molto brevi. La durata totale dell'esecuzione è la somma di setup_duration,
execution_duratione .cleanup_duration Il setup_duration campo è impostato su 0 per le esecuzioni di processi multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore di
run_duration Campo.
execution_duration INT64 Tempo in millisecondi impiegato per eseguire i comandi nel file JAR o nel notebook fino a quando non vengono completati, non riusciti, scaduti, sono stati annullati o si è verificato un errore imprevisto. La durata totale dell'esecuzione è la somma di setup_duration, execution_duratione
cleanup_duration. Il execution_duration campo è impostato su 0 per le esecuzioni di processi multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore del run_duration campo.
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_duratione .cleanup_duration Il cleanup_duration campo è impostato su 0 per le esecuzioni di processi multitasking. La durata totale di un'esecuzione di un processo multitasking è il valore del run_duration campo.
run_duration INT64 Tempo in millisecondi impiegato per l'esecuzione del processo e tutte le relative riparazioni per terminare. Questo campo è impostato solo per le esecuzioni di processi multitask e non per le esecuzioni di attività. La durata di un'esecuzione di un'attività è la somma di
setup_duration, execution_duratione .cleanup_duration
trigger TriggerType Tipo di trigger che ha attivato l'esecuzione.
creator_user_name STRING Nome utente autore. Questo campo non verrà incluso nella risposta se l'utente è stato eliminato
run_page_url STRING URL della pagina dei dettagli dell'esecuzione.

Esegue l'esportazione

Endpoint Metodo HTTP
2.0/jobs/runs/export GET

Esportare e recuperare l'attività 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

Richiedi

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 .

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "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 l'esecuzione. Campo obbligatorio.
views_to_export ViewsToExport Visualizzazioni da 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).

Esecuzioni annullate

Endpoint Metodo HTTP
2.0/jobs/runs/cancel POST

Annullare l'esecuzione di un processo. Poiché l'esecuzione viene annullata in modo asincrono, l'esecuzione potrebbe essere ancora in esecuzione al termine della richiesta. L'esecuzione verrà terminata a breve. Se l'esecuzione è già in un terminale life_cycle_state, questo metodo è no-op.

Questo endpoint convalida che il run_id parametro è valido e per i parametri non validi 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> }'

Sostituzione:

In questo esempio viene usato un file .netrc .

Struttura della richiesta

Nome campo Tipo Descrizione
run_id INT64 Identificatore canonico dell'esecuzione da annullare. Campo obbligatorio.

Esecuzioni annullate tutte

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 impedisce l'avvio di nuove esecuzioni.

Questo endpoint convalida che il job_id parametro è valido e per i parametri non validi 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> }'

Sostituzione:

In questo esempio viene usato un file .netrc .

Struttura della richiesta

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

Le esecuzioni ottengono l'output

Endpoint Metodo HTTP
2.0/jobs/runs/get-output GET

Recuperare l'output e i metadati di una singola esecuzione di un'attività. Quando un'attività notebook restituisce un valore tramite la chiamata dbutils.notebook.exit(), è possibile usare questo endpoint per recuperare tale 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 convalida che il run_id parametro è valido e per i parametri non validi 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

Richiedi

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 .

Sostituzione:

Questo esempio usa un file .netrc e jq.

Response

{
  "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 l'esecuzione. Per un processo con attività mulitple, si tratta dell'esecuzione run_id di un'attività. Vedere Esecuzioni ottenere l'output. Campo obbligatorio.

Struttura della risposta

Nome campo Tipo Descrizione
notebook_output O error NotebookOutput OR STRING Se notebook_output, l'output di un'attività del notebook, se disponibile. Attività del notebook che termina (correttamente o con un errore) senza chiamare
dbutils.notebook.exit() viene considerato 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 Esegui Tutti i dettagli dell'esecuzione, ad eccezione del relativo output.

Esegue l'eliminazione

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

Sostituzione:

In questo esempio viene usato un file .netrc .

Struttura della richiesta

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

Strutture di dati

Contenuto della sezione:

ABFSS Archiviazione Info

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

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

Scalabilità automatica

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

Attributi impostati durante la creazione del cluster correlati ad Azure.

Nome campo Tipo Descrizione
first_on_demand INT32 I primi first_on_demand nodi 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, first_on_demand i nodi 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 first_on_demand quelli.
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 Usare istanze spot.
ON_DEMAND_AZURE Usare istanze su richiesta.
SPOT_WITH_FALLBACK_AZURE Usare preferibilmente istanze spot, ma eseguire il fallback alle istanze on demand se non è possibile acquisire istanze spot, ad esempio se i prezzi spot di Azure sono troppo elevati 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 usato 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 Identificatore canonico per il contesto Spark usato da un'esecuzione. Questo campo verrà compilato dopo l'inizio dell'esecuzione. Questo valore può essere usato 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 Dbfs Archiviazione Info 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 in un nuovo cluster di processi, il processo viene considerato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un processo in un cluster all-purpose esistente, viene considerato come un carico di lavoro di calcolo all-purpose (interattivo) soggetto ai prezzi di calcolo all-purpose.
Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING OR NewCluster Se existing_cluster_id, l'ID di un cluster esistente che verrà 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 processi in nuovi cluster per una maggiore affidabilità.

Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.

Se si specifica pipelineTask, questo campo può essere vuoto.
libraries Matrice di librerie 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 usa la sintassi Di Quarzi che descrive la pianificazione per un processo. Per informazioni dettagliate, vedere Trigger Cron. Campo obbligatorio.
timezone_id STRING ID fuso orario Java. La pianificazione per un processo verrà risolta in relazione a questo fuso orario. Per informazioni dettagliate, vedere Fuso orario Java. Campo obbligatorio.
pause_status STRING Indica se la pianificazione è sospesa o meno. "PAU edizione Standard D" o "UNPAU edizione Standard D".

Dbfs Archiviazione Info

Informazioni sull'archiviazione DBFS.

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

File Archiviazione Info

Informazioni sull'archiviazione file.

Nota

Questo tipo di percorso è disponibile solo per i cluster configurati 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 configurati tramite Databricks Container Services. Vedere File Archiviazione Info.

Nome campo Tipo Descrizione
workspace O
dbfs (deprecato)

OPPURE
abfss
Area di lavoro Archiviazione Info

Dbfs Archiviazione Info (deprecato)

ABFSS Archiviazione Info
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 Archiviazione (ADLS) dello script init. È necessario specificare la destinazione. Ad esempio, { "abfss": { "destination" : "abfss://..." } }

Lavoro

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico per questo processo.
creator_user_name STRING Nome utente autore. Questo campo non verrà incluso nella risposta se l'utente è già stato eliminato.
run_as STRING Nome utente che verrà eseguito il processo. run_as è basato sulle impostazioni del processo corrente e viene impostato sull'autore del processo se il controllo di accesso al processo è disabilitato o l'autorizzazione is_owner se il controllo di accesso al processo è abilitato.
settings Processo Impostazioni Impostazioni per questo processo e tutte le relative esecuzioni. Queste impostazioni possono essere aggiornate usando il resetJob metodo .
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 (set di caratteri ASCII). Se si usano caratteri non ASCII, verrà restituito un errore. Esempi di caratteri non validi non ASCII sono cinesi, kanji giapponesi ed 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. 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 e TERMINATEDlife_cycle_state .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'esecuzione viene considerata completata in modo non riuscito se termina con un INTERNAL_ERROR
life_cycle_state o un SKIPPEDresult_state , FAILEDo TIMED_OUT . Se non viene specificato durante la creazione, la reimpostazione o l'aggiornamento dell'elenco è 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 RUN_DURATION_SECONDS metrica nel health campo. Se non viene specificata alcuna regola per la RUN_DURATION_SECONDS metrica nel health campo per il processo, le notifiche non vengono inviate.
no_alert_for_skipped_runs BOOL Se true, non inviare messaggi di posta elettronica 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 on_start proprietà è 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 e TERMINATEDlife_cycle_state .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 on_success proprietà è 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'esecuzione viene considerata completata in modo non riuscito se termina con un INTERNAL_ERROR
life_cycle_state o un SKIPPEDresult_state , FAILEDo TIMED_OUT . Se non viene specificato durante la creazione, la reimpostazione o l'aggiornamento dell'elenco è vuoto e le notifiche non vengono inviate. Per la on_failure proprietà è 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 RUN_DURATION_SECONDS metrica nel health campo. Per la on_duration_warning_threshold_exceeded proprietà è possibile specificare un massimo di 3 destinazioni.

JobNotification Impostazioni

Nome campo Tipo Descrizione
no_alert_for_skipped_runs BOOL Se true, 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.

Processo Impostazioni

Importante

  • Quando si esegue un processo in un nuovo cluster di processi, il processo viene considerato come un carico di lavoro di calcolo dei processi (automatizzato) soggetto ai prezzi di calcolo dei processi.
  • Quando si esegue un processo in un cluster all-purpose esistente, viene considerato come un carico di lavoro di calcolo all-purpose (interattivo) soggetto ai prezzi di calcolo all-purpose.

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

Nome campo Tipo Descrizione
existing_cluster_id O new_cluster STRING OR NewCluster Se existing_cluster_id, l'ID di un cluster esistente che verrà 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 processi in nuovi cluster per una maggiore affidabilità.

Se new_cluster, una descrizione di un cluster che verrà creato per ogni esecuzione.

Se si specifica pipelineTask, questo campo può essere vuoto.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task O run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 spark.

Se pipeline_task, indica che questo processo deve eseguire una pipeline 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 librerie 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 JobNotification Impostazioni Impostazioni di notifica facoltative usate durante l'invio email_notifications di notifiche a ognuno di e webhook_notifications per questo processo.
timeout_seconds INT32 Timeout facoltativo applicato a ogni esecuzione di questo processo. Il comportamento predefinito non prevede alcun timeout.
max_retries INT32 Numero massimo facoltativo di tentativi di esecuzione non riuscita. Un'esecuzione viene considerata non riuscita se viene completata con il FAILED result_state o
INTERNAL_ERROR
life_cycle_state. Il valore -1 indica di riprovare per un periodo illimitato e il valore 0 significa non riprovare mai. Il comportamento predefinito consiste nel non riprovare mai.
min_retry_interval_millis INT32 Intervallo minimo facoltativo in millisecondi tra i tentativi. Il comportamento predefinito è che le esecuzioni non riuscite vengono ritentate immediatamente.
retry_on_timeout BOOL Un criterio facoltativo per specificare se ripetere un processo quando si verifica il timeout. Il comportamento predefinito consiste nel non ritentare il timeout.
schedule CronSchedule Pianificazione periodica facoltativa per questo processo. Il comportamento predefinito è che il processo verrà eseguito solo 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.

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. Si supponga, ad esempio, che la concorrenza del processo sia 4 e che siano presenti 4 esecuzioni attive simultanee. Quindi l'impostazione della concorrenza su 3 non comporta l'interruzione delle esecuzioni attive. Tuttavia, da allora, le nuove esecuzioni verranno 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 consiste nell'consentire solo 1 esecuzione simultanea.
health JobsHealthRules Set facoltativo di regole di integrità definite per il processo.

JobTask

Nome campo Tipo Descrizione
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task O run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 spark.

Se pipeline_task, indica che questo processo deve eseguire una pipeline 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 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à.

JobsHealthRules

Nome campo Tipo Descrizione
rules Matrice di JobsHealthRule Set facoltativo di regole di integrità che possono essere definite per un processo.

Libreria

Nome campo Tipo Descrizione
jar OR egg OR whl OR
pypi OR maven OR cran
STRINGOR STRING OR OR STRING PythonPyPiLibrary OR MavenLibrary OR 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" } o
{ "jar": "abfss://<container-path>/library.jar" }. Se si usa ADLS, verificare che il cluster abbia accesso in lettura alla libreria.

Se uovo, URI dell'uovo da installare. Sono supportati GLI URI DBFS e ADLS. Ad esempio: { "egg": "dbfs:/my/egg" } o
{ "egg": "abfss://<container-path>/egg" }.

Se whl, URI dell'oggetto wheel o compresso wheels da installare. Sono supportati GLI URI DBFS e ADLS. Ad esempio: { "whl": "dbfs:/my/whl" } o
{ "whl": "abfss://<container-path>/whl" }. Se si usa ADLS, verificare che il cluster abbia accesso in lettura alla libreria. Inoltre, il wheel nome del file deve usare la convenzione corretta. Se è necessario installare compresso wheels , il suffisso del nome file deve essere .wheelhouse.zip.

Se pypi, specifica di una libreria PyPI da installare. Specificare il repo campo è 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. 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 OR AutoScale Se num_workers, numero di nodi di lavoro che il cluster deve 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, i parametri necessari 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 GET 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.

File confs Spark 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. È possibile recuperare un elenco di tipi di nodo disponibili usando la chiamata GET 2.0/clusters/list-node-types . Questo campo, il instance_pool_id campo 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 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 macchine virtuali) 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 un numero qualsiasi 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 incluse 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 Archiviazione locale: se abilitata, questo cluster acquisisce in modo dinamico spazio su disco aggiuntivo quando i ruoli di lavoro Spark sono in esecuzione insufficiente nello 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. È inoltre necessario specificare instance_pool_id. Per informazioni dettagliate, vedere l'API 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 l'API Pool di istanze.

NotebookOutput

Nome campo Tipo Descrizione
result STRING Valore passato a dbutils.notebook.exit(). Azure Databricks limita questa API per restituire i primi 1 MB del valore. Per ottenere 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.

NotebookTask

Tutte le celle di output sono soggette alle dimensioni di 8 MB. Se l'output di una cella ha dimensioni maggiori, il resto dell'esecuzione verrà annullato e l'esecuzione verrà contrassegnata come non riuscita. In tal caso, anche alcuni output del contenuto di altre celle potrebbero non essere presenti.

Se è necessario aiutare a trovare la cella che supera il limite, eseguire il notebook in un cluster all-purpose e usare 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 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 di parametri. Se la stessa chiave viene specificata in base_parameters e in run-now, verrà usato il valore da run-now .

Usare Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

Se il notebook accetta un parametro non specificato nei parametri del base_parameters processo o di run-now override, 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). Se si usano caratteri non ASCII, verrà restituito un errore. Esempi di caratteri non validi non ASCII sono cinesi, kanji giapponesi ed emoji.

Tipo Descrizione
STRING Nome del parametro. Passare 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 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 Repository in cui è possibile trovare il pacchetto. Se non specificato, viene usato 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.

Correre

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

Nome campo Tipo Descrizione
job_id INT64 Identificatore canonico del processo che contiene questa esecuzione.
run_id INT64 Identificatore canonico dell'esecuzione. Questo ID è univoco in tutte le esecuzioni di tutti i processi.
creator_user_name STRING Nome utente 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 è un nuovo tentativo di esecuzione precedente, questo campo contiene il run_id del tentativo originale; in caso contrario, corrisponde al run_id.
state RunState Stato del risultato e del ciclo di vita dell'esecuzione.
schedule CronSchedule Pianificazione cron che ha attivato questa esecuzione se è stata attivata dall'utilità di pianificazione periodica.
task JobTask Attività eseguita 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 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 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 necessario per configurare il cluster in millisecondi. Per le esecuzioni eseguite in nuovi cluster questo è il tempo di creazione del cluster, per le esecuzioni eseguite in cluster esistenti questa volta dovrebbero essere molto brevi.
execution_duration INT64 Tempo in millisecondi impiegato per eseguire i comandi nel file JAR o nel notebook fino a quando non vengono completati, non riusciti, scaduti, sono stati annullati o si è verificato 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 l'esecuzione è terminata in millisecondi di periodo (millisecondi dal 1/1/1970 UTC). Questo campo verrà impostato su 0 se il processo è ancora in esecuzione.
trigger TriggerType Tipo di trigger che ha attivato l'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 dell'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 - Invia 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 attempt_numberdei tentativi (max_retries> 0), le esecuzioni successive vengono create con un original_attempt_run_id ID del tentativo originale e un incremento . Le esecuzioni vengono ritentate solo fino a quando non hanno esito positivo e il valore massimo attempt_number corrisponde al max_retries valore 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'esecuzione. Le transizioni di stato consentite sono:

  • PENDING- ->RUNNING>TERMINATING>TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Stato Descrizione
PENDING L'esecuzione è stata attivata. Se non è già presente un'esecuzione attiva dello stesso processo, il cluster e il contesto di esecuzione vengono preparati. Se è già presente un'esecuzione attiva dello stesso processo, l'esecuzione passerà immediatamente allo SKIPPED stato senza preparare alcuna risorsa.
RUNNING L'attività di questa esecuzione viene eseguita.
TERMINATING L'attività di questa esecuzione è stata completata e il contesto di esecuzione e il cluster vengono puliti.
TERMINATED L'attività di questa esecuzione è stata completata e il contesto di esecuzione e 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 INTERNAL_ERROR stato , il servizio Processi termina il cluster il prima possibile. Questo stato è terminale.

RunParameters

Parametri per questa esecuzione. Nella richiesta deve essere specificata run-now una sola jar_params, python_paramso notebook_params, a seconda del 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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.
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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

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 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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

> [! IMPORTANTE] >> Questi parametri accettano solo caratteri latini (set di caratteri ASCII). > Se si usano caratteri non ASCII, verrà restituito un errore. Esempi di caratteri > non validi non ASCII sono cinesi, kanji giapponesi ed emoji.
spark_submit_params Matrice di STRING. Elenco di parametri per i processi con attività di invio 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 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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

> [! IMPORTANTE] >> Questi parametri accettano solo caratteri latini (set di caratteri ASCII). > Se si usano caratteri non ASCII, verrà restituito un errore. Esempi di caratteri > non validi non ASCII sono cinesi, kanji giapponesi ed emoji.

RunResultState

Stato del risultato dell'esecuzione.

  • Se life_cycle_state = TERMINATED: se l'esecuzione ha un'attività, il risultato è garantito che sia disponibile e indica il risultato dell'attività.
  • Se life_cycle_state = PENDING, RUNNINGo SKIPPED, 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'attività e ha gestito l'avvio.

Una volta disponibile, lo stato del risultato non cambia mai.

Stato Descrizione
SUCCESS L'attività è stata completata correttamente.
FAILED L'attività è stata completata con un errore.
TIMEDOUT L'esecuzione è stata arrestata dopo aver raggiunto il timeout.
CANCELED L'esecuzione è stata annullata alla 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 dall'utilità di pianificazione perché si è verificato il timeout dell'esecuzione.
state_message STRING Messaggio descrittivo per lo stato corrente. Questo campo non è strutturato e il formato esatto è soggetto a modifiche.

SparkConfPair

Coppie chiave-valore di configurazione spark.

Tipo Descrizione
STRING Nome della proprietà di configurazione.
STRING 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). Se si usano caratteri non ASCII, verrà restituito un errore. Esempi di caratteri non validi non ASCII sono cinesi, kanji giapponesi ed emoji.

Tipo Descrizione
STRING Nome di una 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 oggetto tramite il libraries campo . Per un esempio, vedere Creare.
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. Parametri passati al metodo main.

Usare Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

SparkSubmitTask

Importante

  • È possibile richiamare le attività di invio di Spark solo in nuovi cluster.
  • Nella specifica libraries new_cluster 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 e --executor-memory su --driver-memoryun valore più piccolo per lasciare spazio per l'utilizzo di off-heap.
  • Gli --jarsargomenti , --py-filessupportano --files 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 Pass context about job runs into job tasks per impostare parametri contenenti informazioni sulle esecuzioni dei processi.

TriggerType

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

Tipo Descrizione
PERIODIC Pianifica l'esecuzione periodica del trigger, ad esempio un'utilità di pianificazione 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 rieseguare 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 visualizzazione.
name STRING Nome dell'elemento di visualizzazione. Nel caso della visualizzazione codice, il nome del notebook. Nel caso della visualizzazione dashboard, il nome del dashboard.
type ViewType Tipo dell'elemento di visualizzazione.

ViewType

Tipo Descrizione
NOTEBOOK Elemento della visualizzazione notebook.
DASHBOARD Elemento della visualizzazione dashboard.

ViewsToExport

Visualizzare per esportare: codice, tutti i dashboard o tutti.

Tipo Descrizione
CODE Visualizzazione 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.

WebhookNotifications

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 on_start proprietà è 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 e TERMINATEDlife_cycle_state .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 on_success proprietà è 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'esecuzione viene considerata completata in modo non riuscito se termina con un INTERNAL_ERROR
life_cycle_stateo , SKIPPEDFAILEDo TIMED_OUTresult_state. Se non viene specificato durante la creazione, la reimpostazione o l'aggiornamento dell'elenco è vuoto e le notifiche non vengono inviate. Per la on_failure proprietà è 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 RUN_DURATION_SECONDS metrica nel health campo. Per la on_duration_warning_threshold_exceeded proprietà è possibile specificare un massimo di 3 destinazioni.

Area di lavoro Archiviazione Info

Informazioni sull'archiviazione dell'area di lavoro.

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