Condividi tramite


Esegue la CLI (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 runs e i sottocomandi dell'interfaccia della riga di comando dei processi di Databricks aggiungendoli a databricks jobs. Per i sottocomandi dell'interfaccia della riga di comando dei processi di Databricks, vedere CLI dei processi (legacy). Insieme, questi sottocomandi chiamano API Processi e API Processi 2.0.

Importante

L’esecuzione dell’interfaccia della riga di comando di Databricks supporta le chiamate a due versioni dell'API REST processi di Databricks: versioni 2.1 e 2.0. La funzionalità Esecuzioni di processi fa parte dell'API REST Processi. 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 non è possibile eseguire la migrazione.

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

Nota

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

Requisiti per chiamare l'API REST dei processi 2.1

Per configurare l’esecuzione dell’interfaccia della riga di comando di Databricks (e l'interfaccia della riga di comando dei processi) per chiamare l'API REST dei processi 2.1, eseguire le operazioni seguenti:

  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 e dell'interfaccia della riga di comando dei processi chiamano l'API REST 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 e dell'interfaccia della riga di comando dei processi chiamano l'API REST dei processi 2.1.
    • Aggiungere l'opzione --version=2.1 (ad esempio databricks runs list --version=2.1) per indicare all'esecuzione di CLI 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 l’esecuzione di CLI (e CLI dei processi) per chiamare l'API REST dei processi 2.0, eseguire una delle operazioni seguenti:

  • 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 0.16.0 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 e dell'interfaccia della riga di comando dei processi chiamano l'API REST 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 e dell'interfaccia della riga di comando dei processi chiamano l'API REST dei processi 2.0.
    • Aggiungere l'opzione --version=2.1 (ad esempio databricks runs list --version=2.0) per indicare all'esecuzione di CLI 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 runs --help
Usage: databricks runs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs runs.

Options:
  -v, --version   [VERSION]
  --debug         Debug mode. Shows full stack trace on error.
  --profile TEXT  CLI connection profile to use. The default profile is
                  "DEFAULT".

  -h, --help      Show this message and exit.

Commands:
  cancel      Cancels the specified run.
  get         Gets the metadata about a run in JSON form.
  get-output  Gets the output of a run.
  list        Lists job runs.
  submit      Submits a one-time run.

Annullare un'esecuzione

Per visualizzare la documentazione sull'utilizzo, eseguire databricks runs cancel --help.

databricks runs cancel --run-id 119
{}

Visualizzare informazioni su una esecuzione

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

Utilizzo generale

databricks runs get --run-id 2785782

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

Vedere Ottenere le esecuzioni 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": 1269263,
  "run_id": 2785782,
  "number_in_job": 1111,
  "original_attempt_run_id": 2785782,
  "state": {
    "life_cycle_state": "TERMINATED",
    "result_state": "SUCCESS",
    "state_message": ""
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
    }
  },
  "cluster_spec": {
    "new_cluster": {
      "spark_version": "8.1.x-scala2.12",
      "node_type_id": "Standard_F16s",
      "enable_elastic_disk": true,
      "azure_attributes": {
        "availability": "ON_DEMAND_AZURE"
      },
      "num_workers": 8
    }
  },
  "cluster_instance": {
    "cluster_id": "1234-567890-abcd123",
    "spark_context_id": "1234567890123456789"
  },
  "start_time": 1620947196985,
  "setup_duration": 36000,
  "execution_duration": 119000,
  "cleanup_duration": 3000,
  "end_time": 1620947355499,
  "trigger": "ONE_TIME",
  "creator_user_name": "someone@example.com",
  "run_name": "my-notebook-run",
  "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
  "run_type": "JOB_RUN",
  "attempt_number": 0
}

Ottiene l'output di una esecuzione

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

Nota

Quando un notebook_task oggetto restituisce un valore da una chiamata a dbutils.notebook.exit(), Databricks limita il valore restituito ai primi 5 MB di dati. Per restituire un risultato più ampio, è possibile archiviare i risultati dei processi in un servizio di archiviazione cloud.

Utilizzo generale

databricks runs get-output --run-id 2785782

Note sull'utilizzo dell'interfaccia della riga di comando dei processi 2.1

Vedere Ottenere risultato delle esecuzioni 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

{
  "metadata": {
    "job_id": 1269263,
    "run_id": 2785782,
    "number_in_job": 1111,
    "original_attempt_run_id": 2785782,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
      }
    },
    "cluster_spec": {
      "new_cluster": {
        "spark_version": "8.1.x-scala2.12",
        "node_type_id": "Standard_F16s",
        "enable_elastic_disk": true,
        "azure_attributes": {
          "availability": "ON_DEMAND_AZURE"
        },
        "num_workers": 8
      }
    },
    "cluster_instance": {
      "cluster_id": "1234-567890-abcd123",
      "spark_context_id": "1234567890123456789"
    },
    "start_time": 1620947196985,
    "setup_duration": 36000,
    "execution_duration": 119000,
    "cleanup_duration": 3000,
    "end_time": 1620947355499,
    "trigger": "ONE_TIME",
    "creator_user_name": "someone@example.com",
    "run_name": "my-notebook-run",
    "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
    "run_type": "JOB_RUN",
    "attempt_number": 0
  },
  "notebook_output": {}
}

Ottenere informazioni su tutte le esecuzioni

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

Utilizzo generale

databricks runs list --output JSON

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

Vedere l'elenco delle esecuzioni 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

{
  "runs": [
    {
      "job_id": 1269263,
      "run_id": 2785782,
      "number_in_job": 1111,
      "original_attempt_run_id": 2785782,
      "state": {
         "life_cycle_state": "TERMINATED",
         "result_state": "SUCCESS",
         "state_message": ""
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
        }
      },
      "cluster_spec": {
        "new_cluster": {
          "spark_version": "8.1.x-scala2.12",
          "node_type_id": "Standard_F16s",
          "enable_elastic_disk": true,
          "azure_attributes": {
            "availability": "ON_DEMAND_AZURE"
          },
          "num_workers": 8
        }
      },
      "cluster_instance": {
        "cluster_id": "1234-567890-abcd123",
        "spark_context_id": "1234567890123456789"
      },
      "start_time": 1620947196985,
      "setup_duration": 36000,
      "execution_duration": 119000,
      "cleanup_duration": 3000,
      "end_time": 1620947355499,
      "trigger": "ONE_TIME",
      "creator_user_name": "someone@example.com",
      "run_name": "my-notebook-run",
      "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
      "run_type": "JOB_RUN",
      "attempt_number": 0
    },
    ...
  ],
  "has_more": false
}

Se has_more restituisce true, sono disponibili informazioni sulle esecuzioni aggiuntive. Usare l'opzione --offset per restituire informazioni sulle esecuzioni relative all'esecuzione più recente. Ad esempio, per restituire informazioni a partire dalla decima esecuzione più recente, specificare --offset 10.

Usare l'opzione --limit per restituire informazioni su un numero fisso di esecuzioni. Ad esempio, per restituire informazioni per un massimo delle 5 esecuzioni successive, specificare --limit 5. È possibile specificarne fino a 1000 esecuzioni. Se non specificato, il valore predefinito è 20.

Inviare un'esecuzione una tantum

Per visualizzare la documentazione sull'utilizzo, eseguire databricks runs submit --help.

Utilizzo generale

databricks runs submit --json-file submit-run.json

Esempio di richiesta e note sull'utilizzo di API REST dei processi 2.1

Vedere Invio delle esecuzioni in Aggiornamento dell'API dei processi da 2.0 a 2.1.

Esempio di richiesta e risposta dell'API REST dei processi 2.0

submit-run.json:

{
  "run_name": "my-spark-run",
  "new_cluster": {
    "spark_version": "8.1.x-scala2.12",
    "node_type_id": "Standard_F16s",
    "enable_elastic_disk": true,
    "azure_attributes": {
      "availability": "ON_DEMAND_AZURE"
    },
    "num_workers": 8
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}
{
  "run_id": 123
}