Aller au contenu principal

CLI Jobs (hérité)

important

Cette documentation a été retirée et pourrait ne pas être mise à jour.

Ces informations s'appliquent aux anciennes versions de la CLI Databricks 0.18 et antérieures. Databricks vous recommande d'utiliser plutôt la version 0.205 ou ultérieure de Databricks CLI. Voir CLI Databricks. Pour trouver votre version de la 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 la migration de Databricks CLI.

Vous exécutez les sous-commandes CLI de Databricks Job en les ajoutant à databricks jobs et les sous-commandes CLI des exécutions de Databricks Job en les ajoutant à databricks runs. Pour les sous-commandes CLI des exécutions de Job Databricks, consultez la CLI Exécutions (hérité). Ensemble, ces sous-commandes appellent l'API Jobs et l'API Jobs 2.0.

important

La CLI Databricks Jobs prend en charge les appels à deux versions de l'API REST Databricks Jobs : versions 2,1 et 2,0. La version 2.1 prend en charge l'orchestration des Jobs avec plusieurs tâches ; consultez Lakeflow Jobs et Mise à jour de l'API des Jobs 2.0 vers 2.1. Databricks vous recommande d'appeler la version 2,1, sauf si vous avez des scripts hérités qui dépendent de la version 2,0 et qui ne peuvent pas être migrés.

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

Conditions requises pour appeler l'API REST Jobs 2.1

Pour configurer et utiliser la CLI Databricks Jobs (et la CLI Jobs runs) afin d'appeler l'API REST Jobs 2.1, procédez comme suit :

  1. Mettre à jour la CLI vers la version 0,16,0 ou ultérieure.

  2. Effectuez l'une des actions 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 du CLI des Jobs (et du CLI d'exécution des Jobs) appelleront l'API REST des Jobs 2,1 par default.
    • Ajoutez manuellement le paramètre jobs-api-version = 2.1 au fichier ~/.databrickscfg sous Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sous Windows. Toutes les sous-commandes CLI des jobs (et des exécutions de jobs) appelleront l'API REST Jobs 2.1 default.
    • Ajoutez l'option --version=2.1 (par exemple, databricks jobs list --version=2.1) pour demander à la CLI Jobs d'appeler l'API REST Jobs 2.1 uniquement pour cet appel.

    Si vous n'effectuez aucune des actions précédentes, la CLI Jobs (et la CLI des exécutions de Jobs) appellera l'API REST Jobs 2.0 par default.

Exigences pour appeler l'API REST 2.0 des Jobs

Pour configurer et utiliser la CLI Databricks Jobs (et la CLI d'exécution de jobs) pour appeler l'API REST Jobs 2.0, procédez comme suit :

  • Utilisez une version du Databricks CLI inférieure à 0,16,0, ou
  • Mettez à jour la CLI vers la version X.Y.Z ou supérieure, puis effectuez l'une des actions 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 la CLI des Jobs (et de la CLI des exécutions de Jobs) appelleront l'API REST des Jobs 2.0 by default.
    • Ajoutez manuellement le paramètre jobs-api-version = 2.0 au fichier ~/.databrickscfg sous Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sous Windows. Toutes les sous-commandes de la CLI des Job (et de la CLI des exécutions de Job) appelleront l'API REST Job 2.0 par default.
    • Ajoutez l'option --version=2.1 (par exemple, databricks jobs list --version=2.0) pour demander à l'interface de ligne de commande des tâches (Jobs CLI) d'appeler l'API REST Jobs 2.0 pour cet appel uniquement.

Si vous n'effectuez aucune des actions précédentes, la CLI Jobs (et la CLI des exécutions de Jobs) appellera l'API REST Jobs 2.0 par default.

Sous-commandes et utilisation générale

Bash
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"]'

Créer un Job

Pour afficher la documentation d'utilisation, exécutez databricks jobs create --help.

Utilisation générale

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

Notes d'utilisation et exemple de requête de CLI Jobs 2.1

Consultez Créer dans Mise à jour de l'API Jobs 2.0 à 2.1.

Charge utile de requête et exemple de réponse de Jobs CLI 2.0

create-job.json:

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"]
}
}
Console
{ "job_id": 246 }
astuce

Pour copier un job, exécutez la commande create et transmettez un objet JSON avec les paramètres du job à copier. Cet exemple copie les paramètres du job avec l'ID 246 dans un nouveau job. Il nécessite l'utilitaire jq.

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

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

Supprimer un Job

Pour afficher la documentation d'utilisation, exécutez databricks jobs delete --help.

Bash
databricks job delete --job-id 246

En cas de succès, aucune sortie n'est affichée.

astuce

Pour supprimer plusieurs jobs ayant le même paramètre, obtenez la liste des ID de jobs correspondant à ce paramètre, puis exécutez la commande delete pour chaque ID de job correspondant. Cet exemple supprime tous les jobs dont le nom est Untitled. Il nécessite l'utilitaire jq.

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

Lister les informations sur un Job

Pour afficher la documentation d'utilisation, exécutez databricks jobs get --help.

Utilisation générale

Bash
databricks jobs get --job-id 246

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

Consultez Obtenir dans Mise à jour de l'API Jobs de 2.0 à 2.1.

Exemple de réponse CLI Jobs 2.0

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

Répertorier les informations sur les jobs disponibles

Pour afficher la documentation d'utilisation, exécutez databricks jobs list --help.

Utilisation générale

Bash
databricks jobs list

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

Consultez Liste dans Mise à jour de l'API Jobs 2.0 vers 2.1.

Exemple de réponse CLI Jobs 2.0

Console
{
"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"
},
...
]
}

Liste de tous les jobs (API 2.1 uniquement)

Pour indiquer à la CLI de renvoyer tous les jobs en effectuant des appels séquentiels à l'API, utilisez l'option --all. Pour utiliser l'option --all, vous devez définir la version de l'API sur 2.1.

Bash
databricks jobs list --all

Répertorier les jobs (API 2.1 uniquement)

Pour renvoyer une liste de jobs paginée, utilisez les arguments --limit et --offset. Par default, la liste des jobs est renvoyée sous forme de table contenant l'ID du job et le nom du job. Pour retourner facultativement un document JSON contenant des informations de job, utilisez l'argument --output JSON.

Pour utiliser les arguments --limit et --offset, vous devez définir la version de l'API sur 2.1.

Lorsque vous utilisez --output JSON, la liste est renvoyée par ordre décroissant en fonction de la date de création du Job. Lorsque vous utilisez --output TABLE, la liste est renvoyée par ordre décroissant par date de création du job, puis triée par ordre alphabétique par nom de job.

L’exemple suivant parcourt la liste des jobs par lots de 10 et retourne les résultats au format JSON :

Bash
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

Modifier les paramètres d'un Job

Pour afficher la documentation d'utilisation, exécutez databricks jobs reset --help.

Utilisation générale

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

Notes d'utilisation et exemple de requête de CLI Jobs 2.1

Voir Mettre à jour et Reset dans Mise à jour de l'API Jobs 2.0 vers 2.1.

Exemple de requête de la CLI Jobs 2.0

reset-job.json:

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

En cas de succès, aucune sortie n'est affichée.

Exécuter un job

Pour afficher la documentation d'utilisation, exécutez databricks jobs run-now --help.

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