Condividi tramite


CLI dei processi (legacy)

Importante

Questa documentazione è stata ritirata e potrebbe non essere aggiornata.

Queste informazioni si applicano all'interfaccia della riga di comando di Databricks 0.18 e precedenti. Databricks consiglia di usare invece la versione 0.205 o successiva dell'interfaccia della riga di comando. Consultare Che cos'è il Databricks CLI?. Per trovare la versione del Databricks CLI, eseguire databricks -v.

Per eseguire la migrazione dalla CLI di Databricks versione 0.18 o precedente alla CLI di Databricks versione 0.205 o successiva, vedere Migrazione della CLI di Databricks.

Eseguire i sottocomandi dell'esecuzione dell’interfaccia della riga di comando di Databricks aggiungendoli a databricks jobs e i sottocomandi dell'interfaccia della riga di comando dei processi di Databricks aggiungendoli a databricks runs. Per i sottocomandi dell'esecuzione dell’interfaccia della riga di comando dei processi di Databricks, vedere Esegue la CLI (legacy). Insieme, questi sottocomandi chiamano API Processi e API Processi 2.0.

Importante

La CLI dei processi di Databricks supporta le chiamate a due versioni dell'API REST processi di Databricks: versioni 2.1 e 2.0. La versione 2.1 aggiunge il supporto per l'orchestrazione dei processi con più attività; vedere Pianificare e orchestrare i flussi di lavoro e Aggiornamento dell'API dei processi da 2.0 a 2.1. Databricks consiglia di chiamare la versione 2.1, a meno che non si disponga di script legacy che si basano sulla versione 2.0 e che non possono essere migrati.

Se non diversamente specificato, i comportamenti programmatici descritti in questo articolo si applicano allo stesso modo alle versioni 2.1 e 2.0.

Requisiti per chiamare l'API REST dei processi 2.1

Per configurare e usare la CLI dei processi (e l’esecuzione di processi di CLI) per chiamare l'API REST dei processi 2.1, eseguire quanto segue:

  1. Aggiornare l'interfaccia della riga di comando alla versione 0.16.0 o successiva.

  2. Esegui una delle operazioni seguenti:

    • Eseguire il comando databricks jobs configure --version=2.1. In questo modo l'impostazione jobs-api-version = 2.1 viene aggiunta al file ~/.databrickscfg in Unix, Linux o macOS o %USERPROFILE%\.databrickscfg in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.1.
    • Aggiungere manualmente l'impostazione jobs-api-version = 2.1 al file ~/.databrickscfg in Unix, Linux o macOS o %USERPROFILE%\.databrickscfg in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.1.
    • Aggiungere l'opzione --version=2.1 (ad esempio databricks jobs list --version=2.1) per indicare alla CLI dei processi di chiamare l'API REST dei processi 2.1 solo per tale chiamata.

    Per impostazione predefinita, se non si eseguono le azioni precedenti, l’esecuzione di CLI (e CLI dei processi) chiamerà l'API REST dei processi 2.0.

Requisiti per chiamare l'API REST dei processi 2.0

Per configurare e usare la CLI dei processi (e l’esecuzione di processi di CLI) per chiamare l'API REST dei processi 2.0, eseguire una delle seguenti operazioni:

  • Usare una versione dell'interfaccia della riga di comando di Databricks inferiore alla 0.16.0 oppure
  • Aggiornare l'interfaccia della riga di comando alla versione X.Y.Z o successiva e quindi eseguire una delle operazioni seguenti:
    • Eseguire il comando databricks jobs configure --version=2.0. In questo modo l'impostazione jobs-api-version = 2.0 viene aggiunta al file ~/.databrickscfg in Unix, Linux o macOS o %USERPROFILE%\.databrickscfg in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.0.
    • Aggiungere manualmente l'impostazione jobs-api-version = 2.0 al file ~/.databrickscfg in Unix, Linux o macOS o %USERPROFILE%\.databrickscfg in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.0.
    • Aggiungere l'opzione --version=2.1 (ad esempio databricks jobs list --version=2.0) per indicare alla CLI dei processi di chiamare l'API REST dei processi 2.0 solo per tale chiamata.

Per impostazione predefinita, se non si eseguono le azioni precedenti, l’esecuzione di CLI (e CLI dei processi) chiamerà l'API REST dei processi 2.0.

Sottocomandi e utilizzo generale

databricks jobs -h
Usage: databricks jobs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs.

  Job runs are handled by ``databricks runs``.

Options:
  -v, --version  [VERSION]
  -h, --help     Show this message and exit.

Commands:
  create   Creates a job.
    Options:
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  delete   Deletes a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  get      Describes the metadata for a job.
    Options:
    --job-id JOB_ID               Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  list     Lists the jobs in the Databricks Job Service.
  reset    Resets (edits) the definition of a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  run-now  Runs a job with optional per-run parameters.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/#job/$JOB_ID. [required]
      --jar-params JSON           JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --notebook-params JSON      JSON string specifying a map of key-value pairs. i.e. '{"name": "john doe", "age": 35}'
      --python-params JSON        JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --spark-submit-params JSON  JSON string specifying an array of parameters. i.e. '["--class", "org.apache.spark.examples.SparkPi"]'

Creare un processo

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs create --help.

Utilizzo generale

databricks jobs create --json-file create-job.json

Esempio di richiesta e note sull'utilizzo di CLI dei processi 2.1

Vedere Creare in Aggiornamento dell'API dei processi da 2.0 a 2.1.

Esempio di payload della richiesta e risposta dell'interfaccia della riga di comando dei processi 2.0

create-job.json:

{
  "name": "my-job",
  "existing_cluster_id": "1234-567890-reef123",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone@example.com"
    ],
    "on_failure": [
      "someone@example.com"
    ]
  }
}
{ "job_id": 246 }

Suggerimento

Per copiare un processo, eseguire il comando create e passare un oggetto JSON con le impostazioni del processo da copiare. In questo esempio vengono copiate in un nuovo processo le impostazioni del processo con l'ID di 246. Richiede l'utilità jq.

SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)

databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }

Eliminare un processo

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs delete --help.

databricks job delete --job-id 246

In caso di esito positivo, non viene visualizzato alcun output.

Suggerimento

Per eliminare più processi con la stessa impostazione, ottenere l'elenco di ID dei processi che corrispondono a tale impostazione e quindi eseguire il comando delete per ogni ID di processo corrispondente. In questo esempio vengono eliminati tutti i processi che hanno Untitled come nome del processo. Richiede l'utilità jq.

databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id

Elencare informazioni su un processo

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs get --help.

Utilizzo generale

databricks jobs get --job-id 246

Esempio di risposta e note sull'utilizzo di CLI dei processi 2.1

Vedere Ottenere in Aggiornamento dell'API dei processi da 2.0 a 2.1.

Esempio di risposta dell'interfaccia della riga di comando dei processi 2.0

{
  "job_id": 246,
  "settings": {
    "name": "my-job",
    "existing_cluster_id": "1234-567890-reef123",
    "email_notifications": {
      "on_success": [
        "someone@example.com"
      ],
      "on_failure": [
        "someone@example.com"
      ]
    },
    "timeout_seconds": 0,
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/My Notebook"
    },
    "max_concurrent_runs": 1
  },
  "created_time": 1620163107742,
  "creator_user_name": "someone@example.com"
}

Elencare le informazioni sui processi disponibili

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs list --help.

Utilizzo generale

databricks jobs list

Esempio di risposta e note sull'utilizzo di CLI dei processi 2.1

Vedere Elenco in Aggiornamento dall'API dei processi da 2.0 a 2.1.

Esempio di risposta dell'interfaccia della riga di comando dei processi 2.0

{
  "jobs": [
    {
      "job_id": 246,
      "settings": {
        "name": "my-job",
        "existing_cluster_id": "1234-567890-reef123",
        "email_notifications": {
          "on_success": [
            "someone@example.com"
          ],
          "on_failure": [
            "someone@example.com"
          ]
        },
        "timeout_seconds": 0,
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/My Notebook"
        },
        "max_concurrent_runs": 1
      },
      "created_time": 1620163107742,
      "creator_user_name": "someone@example.com"
    },
    ...
  ]
}

Elencare tutti i processi (solo API 2.1)

Per indicare all'interfaccia della riga di comando di restituire tutti i processi effettuando chiamate sequenziali all'API, usare l'opzione --all. Per usare l'opzione --all, è necessario impostare la versione dell'API su 2.1.

databricks jobs list --all

Impagina l'elenco dei processi (solo API 2.1)

Per restituire un elenco di processi impaginati, utilizzare gli argomenti --limit e --offset. Per impostazione predefinita, l'elenco dei processi viene restituito come tabella contenente l'ID e il nome del processo. Per restituire facoltativamente un documento JSON contenente informazioni sul processo, usare l'argomento --output JSON.

Per usare gli argomenti --limit e --offset, è necessario impostare la versione dell'API su 2.1.

Quando si usa --output JSON, l'elenco viene restituito in ordine decrescente in base alla data di creazione del processo. Quando si usa --output TABLE, l'elenco viene restituito in ordine decrescente in base alla data di creazione del processo e quindi ordinato alfabeticamente in base al nome del processo.

L'esempio seguente illustra l'elenco dei processi 10 alla volta e restituisce i risultati in formato JSON:

databricks jobs list --output JSON --limit 10
databricks jobs list --output JSON --limit 10 --offset 10
databricks jobs list --output JSON --limit 10 --offset 20

Modificare le impostazioni per un processo

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs reset --help.

Utilizzo generale

databricks jobs reset --job-id 246 --json-file reset-job.json

Esempio di richiesta e note sull'utilizzo di CLI dei processi 2.1

Vedere Aggiornamento e Reset in Aggiornamento dell'API dei processi da 2.0 a 2.1.

Esempio di richiesta dell'interfaccia della riga di comando dei processi 2.0

reset-job.json:

{
  "job_id": 246,
  "existing_cluster_id": "2345-678901-batch234",
  "name": "my-changed-job",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Other Notebook"
  },
  "email_notifications": {
    "on_success": [
      "someone-else@example.com"
    ],
    "on_failure": [
      "someone-else@example.com"
    ]
  }
}

In caso di esito positivo, non viene visualizzato alcun output.

Eseguire un processo

Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs run-now --help.

databricks jobs run-now --job-id 246
{
  "run_id": 122,
  "number_in_job": 1
}