Jobs CLI (hérité)

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 des sous-commandes CLI de travaux Databricks, ajoutez-les à databricks jobs et, pour des exécutions de travaux Databricks, ajoutez-les à databricks runs. Pour les exécutions de tâches Databricks, consultez les sous-commandes CLI dans Runs CLI (legacy). Ensemble, ces sous-commandes appellent l’API Travaux et l’API Travaux 2.0.

Important

L’interface CLI des jobs Databricks prend en charge les appels à deux versions de l’API REST Databricks Jobs : versions 2.1 et 2.0. 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.

Exigences pour appeler l’API REST Jobs 2.1

Pour configurer et utiliser l’interface CLI des jobs Databricks (et l’interface CLI des exécutions de tâches) 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 Travaux (et de l'interface CLI d'exécution de travaux) feront appel à l'API REST de Travaux 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 Travaux (et de l'interface CLI d'exécution de travaux) feront appel à l'API REST de Travaux 2.1 par défaut.
    • Ajoutez l’option --version=2.1 (par exemple, databricks jobs list --version=2.1) pour indiquer à l’interface en ligne de commande 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 de Jobs (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 et utiliser la CLI jobs de Databricks (et la CLI jobs runs) pour appeler l'API REST Jobs 2.0, effectuez l'une des opérations suivantes :

  • Utilisez une version de la CLI Databricks inférieure à 0.16.0, ou
  • Mettez à jour le CLI à la version X.Y.Z 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 Jobs (et de l'interface CLI d'exécution des tâches) feront appel à l'API REST 2.0 de Jobs 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 Jobs (et de l'interface CLI d'exécution des tâches) feront appel à l'API REST 2.0 de Jobs par défaut.
    • Ajoutez l’option --version=2.1 (par exemple, databricks jobs list --version=2.0) pour indiquer au CLI des travaux d’appeler le Jobs REST API 2.0 pour cet appel uniquement.

Si vous ne prenez aucune des mesures précédentes, l'interface CLI de Jobs (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 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 travail

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

Utilisation générale

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

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

Consultez Créer dans Mise à jour de l’API des tâches de la version 2.0 à la version 2.1.

Exemple de charge utile et de réponse pour une requête Jobs CLI 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 }

Conseil

Pour copier un travail, exécutez la commande create et transmettez un objet JSON avec les paramètres de la tâche à copier. Cet exemple copie les paramètres de la tâche avec l’ID de 246 dans un nouveau travail. Elle nécessite l’utilitaire JQ .

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

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

Supprimer un travail

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

databricks job delete --job-id 246

En cas de réussite, aucune sortie ne s’affiche.

Conseil

Pour supprimer plusieurs travaux ayant le même paramètre, récupérez la liste des ID de travail qui correspondent à ce paramètre, puis exécutez la commande delete pour chaque ID de travail correspondant. Cet exemple supprime tous les jobs portant le nom Untitled. Elle nécessite l’utilitaire JQ .

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

Lister les informations relatives à un travail

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

Utilisation générale

databricks jobs get --job-id 246

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

Consultez Get dans Mise à jour des API Jobs de 2.0 vers 2.1.

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

Répertorier les informations sur les tâches disponibles

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

Utilisation générale

databricks jobs list

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

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

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

Lister tous les travaux (API 2.1 uniquement)

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

databricks jobs list --all

Paginer la liste des travaux (API 2.1 uniquement)

Pour retourner une liste de travaux paginée, utilisez les arguments --limit et --offset. Par défaut, la liste des travaux est retournée sous forme de table avec l’ID de travail et le nom du travail. Pour retourner éventuellement un document JSON contenant les informations de travail, utilisez l’argument --output JSON.

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

Quand vous utilisez --output JSON, la liste est retournée par ordre décroissant de la date de création du travail. Quand vous utilisez --output TABLE, la liste est retournée par ordre décroissant de la date de création du travail, puis triée par ordre alphabétique du nom de travail.

L’exemple suivant parcourt la liste des emplois à raison de 10 emplois à la fois et renvoie les résultats en format 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

Modifier les paramètres d’un travail.

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

Utilisation générale

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

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

Voir Mise à jour et Réinitialiser dans Mise à niveau de l'API de tâches de 2.0 vers 2.1.

Exemple de requête Jobs CLI 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"]
  }
}

En cas de réussite, aucune sortie ne s’affiche.

Exécuter une tâche

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

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