Exécution de l'interface en ligne de commande (legacy)

Important

Cette documentation a été mise hors service et peut ne pas être mise à jour.

Ces informations s’appliquent aux anciennes versions Databricks CLI 0,18 et inférieures. Databricks vous recommande d’utiliser à la place la nouvelle version 0.205 ou supérieure de l’interface CLI Databricks. Consultez l’interface CLI Databricks. Pour trouver votre version de l’interface CLI Databricks, exécutez databricks -v.

Pour migrer de Databricks CLI version 0,18 ou inférieure vers Databricks CLI version 0,205 ou supérieure, consultez Migration Databricks CLI.

Pour exécuter les sous-commandes de l'interface CLI des exécutions de tâches Databricks, ajoutez-les à databricks runs. Pour exécuter les sous-commandes de l'interface CLI des travaux Databricks, ajoutez-les à databricks jobs. Pour les sous-commandes CLI des tâches Databricks, consultez l’interface CLI Jobs (héritée). Ensemble, ces sous-commandes appellent l’API Travaux et l’API Travaux 2.0.

Important

L’interface CLI des exécutions de tâches Databricks prend en charge les appels à deux versions de l’API REST Databricks Jobs : versions 2.1 et 2.0. (La fonctionnalité d’exécution de travaux fait partie de l’API REST Travaux.) La version 2.1 ajoute la prise en charge de l’orchestration des travaux avec plusieurs tâches ; consultez Travaux Lakeflow et mise à jour de l’API Travaux 2.0 vers la version 2.1. Databricks vous recommande d’appeler la version 2.1, sauf si vous avez des scripts hérités qui reposent sur la version 2.0 et qui ne peuvent pas être migrés.

Sauf indication contraire, les comportements de programmation décrits dans cet article s’appliquent également aux versions 2.1 et 2.0.

Note

Si vous recevez une erreur de niveau 500 lorsque vous effectuez des requêtes CLI d’exécution de tâches, Databricks recommande de réessayer les requêtes pendant 10 minutes au maximum (avec un intervalle minimum de 30 secondes entre les nouvelles tentatives).

Exigences pour appeler l’API REST Jobs 2.1

Pour configurer l’interface CLI des tâches Databricks (et la CLI des travaux) pour appeler l’API REST Jobs 2.1, procédez comme suit :

  1. Mettez à jour l’interface CLI vers la version 0.16.0 ou ultérieure.

  2. Effectuez l’une des opérations suivantes :

    • Exécutez la commande databricks jobs configure --version=2.1. Cela ajoute le paramètre jobs-api-version = 2.1 au fichier ~/.databrickscfg sur Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sur Windows. Toutes les sous-commandes de l’interface CLI de l’exécution des travaux (et de l’interface CLI des travaux) feront appel à l’API REST Jobs 2.1 par défaut.
    • Ajoutez manuellement le paramètre jobs-api-version = 2.1 au fichier ~/.databrickscfg sur Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sur Windows. Toutes les sous-commandes de l’interface CLI de l’exécution des travaux (et de l’interface CLI des travaux) feront appel à l’API REST Jobs 2.1 par défaut.
    • Ajoutez l’option --version=2.1 (par exemple, databricks runs list --version=2.1) pour indiquer à l’interface CLI des exécutions de tâches d’appeler l’API REST Jobs 2.1 pour cet appel uniquement.

    Si vous ne prenez aucune des mesures précédentes, l’interface CLI d’exécutions de tâches (et l’interface CLI d’exécution des tâches) appelle l’API REST Jobs 2.0 par défaut.

Conditions requises pour appeler l’API REST Jobs 2.0

Pour configurer l’interface CLI des tâches Databricks (et la CLI des travaux) pour appeler l’API REST Jobs 2.0, procédez comme suit :

  • Utilisez une version de la CLI Databricks inférieure à 0.16.0, ou
  • Mettez à jour le CLI à la version 0.16.0 ou supérieure, puis effectuez l’une des opérations suivantes :
    • Exécutez la commande databricks jobs configure --version=2.0. Cela ajoute le paramètre jobs-api-version = 2.0 au fichier ~/.databrickscfg sur Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sur Windows. Toutes les sous-commandes de l’interface CLI de l’exécution des travaux (et de l’interface CLI des travaux) feront appel à l’API REST Jobs 2.0 par défaut.
    • Ajoutez manuellement le paramètre jobs-api-version = 2.0 au fichier ~/.databrickscfg sur Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sur Windows. Toutes les sous-commandes de l’interface CLI de l’exécution des travaux (et de l’interface CLI des travaux) feront appel à l’API REST Jobs 2.0 par défaut.
    • Ajoutez l’option --version=2.1 (par exemple, databricks runs list --version=2.0) pour indiquer à l’interface CLI des exécutions de tâches d’appeler l’API REST Jobs 2.0 pour cet appel uniquement.

Si vous ne prenez aucune des mesures précédentes, l’interface CLI d’exécutions de tâches (et l’interface CLI d’exécution des tâches) appelle l’API REST Jobs 2.0 par défaut.

Sous-commandes et utilisation générale

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.

Annuler une exécution

Pour afficher la documentation d’utilisation, exécutez databricks runs cancel --help.

databricks runs cancel --run-id 119
{}

Obtenir des informations sur un processus

Pour afficher la documentation d’utilisation, exécutez databricks runs get --help.

Utilisation générale

databricks runs get --run-id 2785782

Notes d'utilisation de Jobs CLI 2.1 et exemple de réponse

Consultez les exécutions dans Mise à jour de l'API de jobs de 2.0 vers 2.1.

Exemple de réponse Jobs CLI 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
}

Obtenir la sortie d’une exécution

Pour afficher la documentation d’utilisation, exécutez databricks runs get-output --help.

Note

Quand notebook_task retourne une valeur d’un appel à dbutils.notebook.exit(), Databricks limite la valeur retournée aux cinq premiers Mo de données. Pour obtenir un résultat plus grand, vous pouvez stocker les résultats des travaux dans un service de stockage cloud.

Utilisation générale

databricks runs get-output --run-id 2785782

Remarques sur l’utilisation de Jobs CLI 2.1

Consultez Les exécutions produisent des sorties dans Mise à jour de l'API Jobs de la version 2.0 à 2.1.

Exemple de réponse Jobs CLI 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": {}
}

Obtenir des informations sur toutes les exécutions de programme

Pour afficher la documentation d’utilisation, exécutez databricks runs list --help.

Utilisation générale

databricks runs list --output JSON

Notes d'utilisation de Jobs CLI 2.1 et exemple de réponse

Consultez Liste des exécutions dans Mise à jour de l’API des travaux de 2.0 vers 2.1.

Exemple de réponse Jobs CLI 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
}

Si has_more retourne true, des informations sur les exécutions supplémentaires sont disponibles. Utilisez l’option --offset pour renvoyer des informations sur les exécutions relatives à la dernière exécution. Par exemple, pour retourner des informations à partir de la dixième exécution la plus récente, spécifiez --offset 10.

Utilisez l’option --limit pour renvoyer des informations sur un nombre fixe d’exécutions. Par exemple, pour retourner des informations pour les cinq prochaines exécutions, spécifiez --limit 5. Vous pouvez indiquer jusqu’à 1000 exécutions. Si cet argument n’est pas spécifié, la valeur par défaut est 20.

Envoyer une exécution unique

Pour afficher la documentation d’utilisation, exécutez databricks runs submit --help.

Utilisation générale

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

Remarques d’utilisation et exemple de requête de l’API REST Jobs 2.1

Consultez Soumission des exécutions dans Mise à jour de l'API de travaux de 2.0 vers 2.1.

Exemple de requête et de réponse de l’API REST Jobs 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
}