Partager via


Exécutions de l’interface CLI (héritée)

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 Qu’est-ce que 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 de l’interface CLI des tâches Databricks, vous devez les ajouter à databricks runs la tâche Databricks et exécuter des sous-commandes CLI en les ajoutant à 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 des projets fait partie de l’API REST de projets.) La version 2.1 ajoute la prise en charge de l’orchestration des projets comportant plusieurs tâches. Consultez Planifier et orchestrer des workflows et Mise à jour de l’API de projets 2.0 à 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.

Notes

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).

Conditions requises pour appeler l’API REST Travaux 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 sous Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sous 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 Travaux 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 l’interface CLI Databricks sous 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 sous Unix, Linux ou macOS, ou %USERPROFILE%\.databrickscfg sous 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 une exécution

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 et exemple de demande de travaux CLI 2.1

Consultez Obtenir des exécutions dans Mise à jour des travaux de l’API 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.

Notes

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 Obtenir des exécutions de sortie dans Mise à jour des travaux de l’API de 2.0 vers 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

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

Utilisation générale

databricks runs list --output JSON

Notes d'utilisation et exemple de demande de travaux CLI 2.1

Consultez Répertorier des exécutions dans Mise à jour des travaux de l’API 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 Envoyer des exécutions dans Mise à jour des travaux de l’API 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
}