API Travaux 2.0
Important
Cet article documente la version 2.0 de l'API Jobs. Cependant, Databricks recommande d'utiliser l'API Jobs 2.1 pour les clients et scripts nouveaux et existants. Pour plus de détails sur les modifications apportées aux versions 2.0 vers 2.1, consultez Mise à jour de Jobs API 2.0 vers 2.1.
L’API Jobs vous permet de créer, modifier et supprimer des travaux. La taille maximale autorisée pour une requête adressée à l’API Jobs est de 10 Mo.
Pour plus d'informations sur les mises à jour de l'API Jobs qui prennent en charge l'orchestration de plusieurs tâches avec les tâches Azure Databricks, consultez Mise à jour de l'API Jobs 2.0 vers 2.1.
Avertissement
Vous ne devez jamais coder en dur les secrets ni les stocker en texte brut. Utilisez l’API de secrets pour gérer les secrets dans l’interface CLI Databricks. Utilisez l’utilitaire Secrets (dbutils.secrets) pour référencer des secrets dans des notebooks et des travaux.
Notes
Si vous recevez une erreur de niveau 500 lorsque vous effectuez des requêtes API Jobs, Databricks recommande de réessayer les requêtes pendant 10 minutes au maximum (avec un intervalle minimum de 30 secondes entre les nouvelles tentatives).
Important
Pour accéder aux API REST Databricks, vous devez vous authentifier.
Créer
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/create |
POST |
Créez une nouvelle tâche.
Exemple
Cet exemple crée un travail qui exécute une tâche JAR à 22:15 toutes les nuits.
Requête
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Remplacez :
<databricks-instance>
par le nom de l'instance de l'espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.- Les contenus de
create-job.json
avec les champs appropriés pour votre solution.
Cet exemple utilise un fichier .netrc et jq.
response
{
"job_id": 1
}
Structure de la requête
Important
- Lorsque vous exécutez un travail sur un nouveau cluster de travaux, le travail est traité comme une charge de travail de calcul (automatique) de travaux soumise à la tarification du calcul des travaux.
- Lorsque vous exécutez un travail sur un cluster à usage général existant, il est traité comme une charge de travail de calcul à usage général (interactive) soumise à des tarifs de calcul à usage général.
Nom du champ | Type | Description |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Si existing_cluster_id, ID d’un cluster existant qui sera utilisé pour toutes les exécutions de ce travail. Lors de l’exécution de travaux sur un cluster existant, vous devrez peut-être redémarrer manuellement le cluster s’il cesse de répondre. Nous suggérons d’exécuter des travaux sur les nouveaux clusters pour une plus grande fiabilité. Si new_cluster, description d’un cluster qui sera créé pour chaque exécution. Si vous spécifiez PipelineTask, ce champ peut être vide. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Si notebook_task, indique que ce travail doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, indique que ce travail doit exécuter un fichier JAR. Si spark_python_task, indique que ce travail doit exécuter un fichier Python. Si spark_submit_task, indique que ce travail doit être lancé par le script d’envoi Spark. Si pipeline_task, indique que ce travail doit exécuter un pipeline Delta Live Tables. Si run_job_task, indique que ce travail doit exécuter un autre travail. |
name |
STRING |
Nom facultatif pour le travail. La valeur par défaut est Untitled . |
libraries |
Tableau de bibliothèque | Liste de bibliothèques facultatives à installer sur le cluster qui exécute le travail. La valeur par défaut est une liste vide. |
email_notifications |
JobEmailNotifications | Un ensemble facultatif d’adresses e-mail notifiées quand les exécutions de ce travail commencent et se terminent et lorsque ce travail est supprimé. Le comportement par défaut consiste à ne pas envoyer d’e-mails. |
webhook_notifications |
WebhookNotifications | Ensemble facultatif de destinations système pour notifier quand les exécutions de ce travail commencent, se terminent ou échouent. |
notification_settings |
JobNotificationSettings | Paramètres de notification facultatifs utilisés lors de l’envoi de notifications à chacun des email_notifications et webhook_notifications pour ce travail. |
timeout_seconds |
INT32 |
Délai d’attente facultatif appliqué à chaque exécution de ce travail. Le comportement par défaut est de ne pas avoir de délai d’attente. |
max_retries |
INT32 |
Nombre maximal facultatif de tentatives d’exécution d’une tentative infructueuse. Une exécution est considérée comme ayant échoué si elle se termine avec FAILED result_state ouINTERNAL_ERROR life_cycle_state . La valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par défaut est de ne pas faire de nouvelle tentative. |
min_retry_interval_millis |
INT32 |
Intervalle minimal facultatif, en millisecondes, entre le début de l’échec de l’exécution et l’exécution de la tentative suivante. Le comportement par défaut est que les exécutions ayant échoué sont immédiatement retentées. |
retry_on_timeout |
BOOL |
Stratégie facultative permettant de spécifier s’il faut réessayer un travail lorsqu’il expire. Le comportement par défaut consiste à ne pas réessayer en cas d’expiration du délai d’attente. |
schedule |
CronSchedule | Planification périodique facultative pour ce travail. Le comportement par défaut est que la tâche s’exécute quand elle est déclenchée en cliquant sur Exécuter maintenant dans l’interface utilisateur des travaux ou en envoyant une demande d’API à runNow . |
max_concurrent_runs |
INT32 |
Nombre maximal d’exécutions simultanées autorisées du travail. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même travail simultanément. Cela est utile, par exemple, si vous déclenchez un travail à intervalles fréquents et que vous souhaitez autoriser les exécutions consécutives à se chevaucher, ou si vous souhaitez déclencher plusieurs exécutions qui diffèrent par leurs paramètres d’entrée. Ce paramètre affecte uniquement les nouvelles exécutions. Par exemple, supposons que la concurrence du travail est de 4 et qu’il y a 4 exécutions actives simultanées. Ensuite, l’affectation de la valeur 3 à la concurrence n’interrompt aucune des exécutions actives. Toutefois, à partir de là, les nouvelles exécutions sont ignorées, à moins qu’il y ait moins de 3 exécutions actives. La valeur ne peut pas dépasser 1 000. Si vous affectez la valeur 0, toutes les nouvelles exécutions sont ignorées. Le comportement par défaut consiste à autoriser uniquement 1 exécution simultanée. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail nouvellement créé. |
Liste
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/list |
GET |
Affiche la liste de tous les travaux.
Exemple
Requête
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Remplacez <databricks-instance>
par le nom de l’instance d’espace de travail Azure Databricks (par exemple, adb-1234567890123456.7.azuredatabricks.net
).
Cet exemple utilise un fichier .netrc et jq.
response
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
jobs |
Tableau de Travail | Liste des travaux. |
Supprimer
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/delete |
POST |
Supprimer un travail et envoyer un e-mail aux adresses spécifiées dans JobSettings.email_notifications
. Aucune action ne se produit si la tâche a déjà été supprimée. Une fois le travail supprimé, ses détails et son historique des exécutions ne sont pas visibles dans l’interface utilisateur ou l’API Jobs. La suppression du travail est garantie à la fin de la demande. Toutefois, les exécutions qui étaient actives avant la réception de cette demande peuvent toujours être actives. Elles seront arrêtées de manière asynchrone.
Exemple
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<job-id>
par l’ID du travail, par exemple123
.
Cet exemple utilise un fichier .netrc.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail à supprimer. Ce champ est obligatoire. |
Obtenir
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/get |
GET |
Récupérer des informations sur un travail unique.
Exemple
Requête
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
Ou :
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<job-id>
par l’ID du travail, par exemple123
.
Cet exemple utilise un fichier .netrc et jq.
response
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail sur lequel récupérer des informations. Ce champ est obligatoire. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique de ce travail. |
creator_user_name |
STRING |
Nom d’utilisateur du créateur. Le champ n’est pas inclus dans la réponse si l’utilisateur a été supprimé. |
settings |
JobSettings | Paramètres pour ce travail et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l’aide des points de terminaison de Réinitialisation ou de Mise à jour. |
created_time |
INT64 |
Heure à laquelle ce travail a été créé en millisecondes (millisecondes depuis 1/1/1970 UTC). |
R
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/reset |
POST |
Remplacer tous les paramètres d’un travail spécifique. Utiliser le point de terminaison de Mise à jour pour mettre à jour les paramètres de travail partiellement.
Exemple
Cet exemple de requête rend le travail 2 identique au travail 1 dans l’exemple de création.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
Remplacez :
<databricks-instance>
par le nom de l'instance de l'espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.- Les contenus de
reset-job.json
avec les champs appropriés pour votre solution.
Cet exemple utilise un fichier .netrc et jq.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail à réinitialiser. Ce champ est obligatoire. |
new_settings |
JobSettings | Nouveaux paramètres du travail. Ces paramètres remplacent complètement les anciens paramètres. Les modifications apportées au champ JobSettings.timeout_seconds sont appliquées aux exécutions actives. Les modifications apportées à d’autres champs sont appliquées aux exécutions ultérieures uniquement. |
Mettre à jour
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/update |
POST |
Ajoutez, modifiez ou supprimez des paramètres spécifiques d’un travail existant. Utilisez le point de terminaison de Réinitialisation pour remplacer tous les paramètres de travail.
Exemple
Cet exemple de requête supprime les bibliothèques et ajoute les paramètres de notification par e-mail au travail 1 défini dans l’exemple de création.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
Remplacez :
<databricks-instance>
par le nom de l'instance de l'espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.- Les contenus de
update-job.json
avec les champs appropriés pour votre solution.
Cet exemple utilise un fichier .netrc et jq.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail à mettre à jour. Ce champ est obligatoire. |
new_settings |
JobSettings | Nouveaux paramètres pour le travail. Tous les champs de plus haut niveau spécifiés dans new_settings , excepté pour les tableaux, sont entièrement remplacés. Les tableaux sont fusionnés en fonction de leurs champs clés respectifs, comme task_key oujob_cluster_key , et les entrées de tableau avec la même clé sont entièrement remplacées. Excepté pour la fusion de tableaux, la mise à jour partielle des champs imbriqués n’est pas prise en charge.Les modifications apportées au champ JobSettings.timeout_seconds sont appliquées aux exécutions actives. Les modifications apportées à d’autres champs sont appliquées aux exécutions ultérieures uniquement. |
fields_to_remove |
Tableau de STRING |
Supprimer les champs de niveau supérieur dans les paramètres du travail. La suppression de champs imbriqués n’est pas prise en charge, à l’exception des entrées provenant des tableaux tasks et job_clusters . Par exemple, voici un argument valide pour ce champ :["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Ce champ est facultatif. |
Exécuter maintenant
Important
- Un espace de travail est limité à 1 000 exécutions de tâches simultanées. Une réponse
429 Too Many Requests
est retournée lorsque vous demandez une exécution qui ne peut pas démarrer immédiatement. - Le nombre de travaux qu’un espace de travail peut créer en une heure est limité à 10 000 (« envoi d’exécutions » inclus). Cette limite affecte également les travaux créés par les workflows de l’API REST et des notebooks.
- Un espace de travail peut contenir jusqu’à 12 000 travaux enregistrés.
- Un travail peut contenir jusqu’à 100 tâches.
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/run-now |
POST |
Exécuter un travail maintenant et retourner le run_id
de l’exécution déclenchée.
Conseil
Si vous appelez Créer avec Exécuter maintenant, vous pouvez utiliser le point de terminaison Exécutions d’envois à la place, ce qui vous permet d’envoyer votre charge de travail directement sans avoir à créer un travail.
Exemple
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
Exemple de demande pour un travail de notebook :
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Exemple de demande pour un travail JAR :
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
Remplacez :
<databricks-instance>
par le nom de l'instance de l'espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.- Les contenus de
run-job.json
avec les champs appropriés pour votre solution.
Cet exemple utilise un fichier .netrc et jq.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
|
jar_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec des tâches JAR, par exemple "jar_params": ["john doe", "35"] . Les paramètres sont utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche de fichier JAR Spark. Si run-now n’est pas défini, il s’agit d’une liste vide par défaut. jar_params ne peut pas être spécifié conjointement avec notebook_params. La représentation JSON de ce champ (autrement dit {"jar_params":["john doe","35"]} ,) ne peut pas dépasser 10 000 octets. |
notebook_params |
Un mappage de ParamPair | Un mappage entre les clés et les valeurs des travaux avec la tâche du notebook, par exemple"notebook_params": {"name": "john doe", "age": "35"} . Le mappage est passé au notebook et est accessible via la fonction dbutils.widgets.obten.S’il n’est pas spécifié sur run-now , l’exécution déclenchée utilise les paramètres de base du travail.Vous ne pouvez pas spécifier notebook_params conjointement avec jar_params. La représentation JSON de ce profil (c’est-à-dire {"notebook_params":{"name":"john doe","age":"35"}} ) ne peut pas dépasser 10 000 octets. |
python_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec des tâches Python, par exemple "python_params": ["john doe", "35"] . Les paramètres sont passés au fichier Python en tant que paramètres de ligne de commande. S’il est spécifié sur run-now , il remplace les paramètres spécifiés dans le paramètre de travail. La représentation JSON de ce champ (autrement dit {"python_params":["john doe","35"]} ,) ne peut pas dépasser 10 000 octets. |
spark_submit_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec la tâche d’envoi Spark, par exemple"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Les paramètres sont transmis au script spark-submit en tant que paramètres de ligne de commande. S’il est spécifié sur run-now , il remplace les paramètres spécifiés dans le paramètre de travail. La représentation JSON de ce champ ne peut pas dépasser 10 000 octets. |
idempotency_token |
STRING |
Jeton facultatif pour garantir l’idempotence des demandes d’exécution de travaux. S’il existe déjà une exécution avec le jeton fourni, la demande ne crée pas de nouvelle exécution, mais retourne à la place l’ID de l’exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est retournée. Si vous spécifiez le jeton d’idempotence, en cas d’échec vous pouvez réessayer jusqu’à ce que la requête aboutisse. Azure Databricks garantit qu’une seule exécution est lancée avec ce jeton d’idempotence. Ce jeton doit avoir au maximum 64 caractères. Pour plus d’informations, consultez Comment garantir l’idempotence pour les travaux. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
ID global unique de l’exécution qui vient d’être déclenchée. |
number_in_job |
INT64 |
Numéro de séquence de cette exécution parmi toutes les exécutions du travail. |
Exécutions – Envoyer
Important
- Un espace de travail est limité à 1 000 exécutions de tâches simultanées. Une réponse
429 Too Many Requests
est retournée lorsque vous demandez une exécution qui ne peut pas démarrer immédiatement. - Le nombre de travaux qu’un espace de travail peut créer en une heure est limité à 10 000 (« envoi d’exécutions » inclus). Cette limite affecte également les travaux créés par les workflows de l’API REST et des notebooks.
- Un espace de travail peut contenir jusqu’à 12 000 travaux enregistrés.
- Un travail peut contenir jusqu’à 100 tâches.
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/submit |
POST |
Envoyer une exécution unique. Ce point de terminaison vous permet d’envoyer une charge de travail directement sans créer de travail. Utilisez l’API jobs/runs/get
pour vérifier l’état d’exécution après l’envoi du travail.
Exemple
Requête
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Remplacez :
<databricks-instance>
par le nom de l'instance de l'espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.- Les contenus de
submit-job.json
avec les champs appropriés pour votre solution.
Cet exemple utilise un fichier .netrc et jq.
response
{
"run_id": 123
}
Structure de la requête
Important
- Lorsque vous exécutez un travail sur un nouveau cluster de travaux, le travail est traité comme une charge de travail de calcul (automatique) de travaux soumise à la tarification du calcul des travaux.
- Lorsque vous exécutez un travail sur un cluster à usage général existant, il est traité comme une charge de travail de calcul à usage général (interactive) soumise à des tarifs de calcul à usage général.
Nom du champ | Type | Description |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Si existing_cluster_id, ID d’un cluster existant qui sera utilisé pour toutes les exécutions de ce travail. Lors de l’exécution de travaux sur un cluster existant, vous devrez peut-être redémarrer manuellement le cluster s’il cesse de répondre. Nous suggérons d’exécuter des travaux sur les nouveaux clusters pour une plus grande fiabilité. Si new_cluster, description d’un cluster qui sera créé pour chaque exécution. Si vous spécifiez PipelineTask, ce champ peut être vide. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Si notebook_task, indique que ce travail doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, indique que ce travail doit exécuter un fichier JAR. Si spark_python_task, indique que ce travail doit exécuter un fichier Python. Si spark_submit_task, indique que ce travail doit être lancé par le script d’envoi Spark. Si pipeline_task, indique que ce travail doit exécuter un pipeline Delta Live Tables. Si run_job_task, indique que ce travail doit exécuter un autre travail. |
run_name |
STRING |
Nom facultatif pour l’exécution. La valeur par défaut est Untitled . |
webhook_notifications |
WebhookNotifications | Ensemble facultatif de destinations système pour notifier quand les exécutions de ce travail commencent, se terminent ou échouent. |
notification_settings |
JobNotificationSettings | Paramètres de notification facultatifs utilisés lors de l’envoi de notifications à chacun des webhook_notifications pour cette exécution. |
libraries |
Tableau de bibliothèque | Liste de bibliothèques facultatives à installer sur le cluster qui exécute le travail. La valeur par défaut est une liste vide. |
timeout_seconds |
INT32 |
Délai d’attente facultatif appliqué à chaque exécution de ce travail. Le comportement par défaut est de ne pas avoir de délai d’attente. |
idempotency_token |
STRING |
Jeton facultatif pour garantir l’idempotence des demandes d’exécution de travaux. S’il existe déjà une exécution avec le jeton fourni, la demande ne crée pas de nouvelle exécution, mais retourne à la place l’ID de l’exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est retournée. Si vous spécifiez le jeton d’idempotence, en cas d’échec vous pouvez réessayer jusqu’à ce que la requête aboutisse. Azure Databricks garantit qu’une seule exécution est lancée avec ce jeton d’idempotence. Ce jeton doit avoir au maximum 64 caractères. Pour plus d’informations, consultez Comment garantir l’idempotence pour les travaux. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de l’exécution nouvellement envoyée. |
Exécutions – Lister
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/list |
GET |
La liste est exécutée dans l’ordre décroissant par heure de début.
Notes
Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les référencer au-delà de 60 jours, vous devez enregistrer les résultats de l’exécution précédente avant qu’ils n’expirent. Pour exporter à l’aide de l’interface utilisateur, consultez Exporter les résultats de l’exécution du travail. Pour exporter à l’aide de l’API Jobs, consultez Exportation des exécutions.
Exemple
Requête
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Ou :
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<job-id>
par l’ID du travail, par exemple123
.- «
<true-false>
partrue
oufalse
». <offset>
par la valeuroffset
.<limit>
par la valeurlimit
.<run-type>
par la valeurrun_type
.
Cet exemple utilise un fichier .netrc et jq.
response
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
active_only OU completed_only |
BOOL OU BOOL |
Si active_only est true , seules les exécutions actives sont incluses dans les résultats ; sinon, elle répertorie les exécutions active et terminée. Une exécution active est une exécution dans le RunLifecycleState PENDING , RUNNING ou TERMINATING . Ce champ ne peut pas être true lorsque completed_only est true .Si completed_only est true , seules les exécutions terminées sont incluses dans les résultats ; sinon, elle répertorie les exécutions active et terminée. Ce champ ne peut pas être true lorsque active_only est true . |
job_id |
INT64 |
Travail pour lequel la liste doit être exécutée. Si ce paramètre est omis, le service Jobs répertorie les exécutions de tous les travaux. |
offset |
INT32 |
Décalage de la première exécution à retourner, relatif à l’exécution la plus récente. |
limit |
INT32 |
Nombre d’exécutions à retourner. Cette valeur doit être supérieure à 0 et inférieure à 1000. La valeur par défaut est 20. Si une demande spécifie une limite de 0, le service utilisera à la place la limite maximale. |
run_type |
STRING |
Type d’exécutions à retourner. Pour obtenir une description des types d’exécution, consultez Exécuter. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
runs |
Tableau Exécuter | Liste des exécutions, de la plus récente à la moins récente. |
has_more |
BOOL |
Si la valeur est true, les exécutions supplémentaires correspondant au filtre fourni peuvent être répertoriées. |
Exécutions – Obtenir
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Récupérez les métadonnées d’une exécution.
Notes
Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les référencer au-delà de 60 jours, vous devez enregistrer les résultats de l’exécution précédente avant qu’ils n’expirent. Pour exporter à l’aide de l’interface utilisateur, consultez Exporter les résultats de l’exécution du travail. Pour exporter à l’aide de l’API Jobs, consultez Exportation des exécutions.
Exemple
Requête
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
Ou :
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<run-id>
par l’ID de l’exécution, par exemple123
.
Cet exemple utilise un fichier .netrc et jq.
response
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de l’exécution pour laquelle récupérer les métadonnées. Ce champ est obligatoire. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail qui contient cette exécution. |
run_id |
INT64 |
Identificateur canonique du travail à réinitialiser. Cet ID est unique pour toutes les exécutions de tous les travaux. |
number_in_job |
INT64 |
Numéro de séquence de cette exécution parmi toutes les exécutions du travail. Cette valeur commence à 1. |
original_attempt_run_id |
INT64 |
Si cette exécution est une nouvelle tentative d’une tentative d’exécution antérieure, ce champ contient l’élément run_id de la tentative d’origine. Dans le cas contraire, il est identique au run_id. |
state |
RunState | États de résultat et de cycle de vie de l’exécution. |
schedule |
CronSchedule | Planification cron qui a déclenché cette exécution si elle a été déclenchée par le planificateur périodique. |
task |
JobTask | Tâche exécutée par l’exécution, le cas échéant. |
cluster_spec |
ClusterSpec | Instantané de la spécification de cluster du travail lors de la création de cette exécution. |
cluster_instance |
ClusterInstance | Cluster utilisé pour cette exécution. Si l’exécution est spécifiée pour utiliser un nouveau cluster, ce champ est défini une fois que le service de travaux a demandé un cluster pour l’exécution. |
overriding_parameters |
RunParameters | Paramètres utilisés pour cette exécution. |
start_time |
INT64 |
Heure à laquelle cette exécution a commencé en millisecondes (millisecondes depuis 1/1/1970 UTC). Cela peut ne pas être l’heure de début de l’exécution de la tâche de travail, par exemple, si le travail est planifié pour s’exécuter sur un nouveau cluster, il s’agit de l’heure à laquelle l’appel de création de cluster est émis. |
end_time |
INT64 |
Heure à laquelle cette exécution s’est terminée en millisecondes (millisecondes depuis 1/1/1970 UTC). Ce champ est défini sur 0 si le travail est toujours en cours d’exécution. |
setup_duration |
INT64 |
Le temps en millisecondes nécessaire à la configuration du cluster. Pour les exécutions sur de nouveaux clusters, il s’agit de l’heure de création du cluster, pour les exécutions sur les clusters existants. Cette fois-ci, cette durée doit être très courte. La durée totale de l’exécution est la somme de setup_duration ,execution_duration , et cleanup_duration . Le champ setup_duration est défini sur 0 pour les exécutions de travaux multitâche. La durée totale d’une exécution de travail multitâche est la valeur duchamp run_duration . |
execution_duration |
INT64 |
Durée en millisecondes nécessaire à l’exécution des commandes dans le fichier JAR ou le notebook jusqu’à ce qu’elles soient terminées, échouées, expirées, ont été annulées ou rencontré une erreur inattendue. La durée totale de l’exécution est la somme de setup_duration , execution_duration et lecleanup_duration . Le champ execution_duration est défini sur 0 pour les exécutions de travaux multitâche. La durée totale d’une exécution de travail multitâche est la valeur du champrun_duration . |
cleanup_duration |
INT64 |
Durée en millisecondes nécessaire à l’arrêt du cluster et au nettoyage des artefacts associés. La durée totale de l’exécution est la somme de setup_duration , execution_duration et cleanup_duration . Le champ cleanup_duration est défini sur 0 pour les exécutions de travaux multitâche. La durée totale d’une exécution de travail multitâche est la valeur du champrun_duration . |
run_duration |
INT64 |
Temps, en millisecondes, il a fallu l’exécution du travail et toutes ses réparations pour se terminer. Ce champ est défini uniquement pour les exécutions de travaux multitâches et non pour les exécutions de tâches. La durée d’une exécution de tâche est la somme dessetup_duration , execution_duration , et cleanup_duration . |
trigger |
TriggerType | Le type de déclencheur qui a déclenché cette exécution. |
creator_user_name |
STRING |
Nom d’utilisateur du créateur. Le champ n’est pas inclus dans la réponse si l’utilisateur a été supprimé |
run_page_url |
STRING |
URL de la page de détails de l’exécution. |
Exécutions – Exporter
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/export |
GET |
Exportez et récupérez la tâche d’exécution du travail.
Notes
Seules les exécutions de notebook peuvent être exportées au format HTML. L’exportation des exécutions d’autres types échouera.
Exemple
Requête
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
Ou :
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<run-id>
par l’ID de l’exécution, par exemple123
.
Cet exemple utilise un fichier .netrc et jq.
response
{
"views": [ {
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
} ]
}
Pour extraire le notebook HTML de la réponse JSON, téléchargez et exécutez ce script Python.
Notes
Le corps du bloc-notes dans l’objet __DATABRICKS_NOTEBOOK_MODEL
est encodé.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de cette exécution. Ce champ est obligatoire. |
views_to_export |
ViewsToExport | Les affichages à exporter (CODE, TABLEAUX DE BORD ou TOUT). La valeur par défaut est CODE. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
views |
Tableau de ViewItem | Contenu exporté au format HTML (un pour chaque élément d’affichage). |
Exécutions – Annuler
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Annuler une tâche. L’exécution étant annulée de manière asynchrone, elle peut toujours être en cours d’exécution lorsque cette requête se termine. L’exécution va bientôt se terminer. Si l’exécution de tests est déjà dans un terminal life_cycle_state
, cette méthode n’est pas opérationnelle.
Ce point de terminaison confirme que le paramètre run_id
est valide et que les paramètres non valides renvoient le code d’état HTTP 400.
Exemple
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<run-id>
par l’ID de l’exécution, par exemple123
.
Cet exemple utilise un fichier .netrc.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de l’exécution à annuler. Ce champ est obligatoire. |
Annuler toutes les exécutions
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/cancel-all |
POST |
Annuler toutes les exécutions actives d’un travail. L’exécution étant annulée de manière asynchrone, cela n’empêche pas le démarrage de nouvelles exécutions.
Ce point de terminaison confirme que le paramètre job_id
est valide et que les paramètres non valides renvoient le code d’état HTTP 400.
Exemple
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<job-id>
par l’ID du travail, par exemple123
.
Cet exemple utilise un fichier .netrc.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail dont il faut annuler toutes les exécutions. Ce champ est obligatoire. |
Exécutions – Obtenir la sortie
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/get-output |
GET |
Récupérez la sortie et les métadonnées de l’exécution d’une seule tâche. Quand une tâche de notebook retourne une valeur via l’appel dbutils.notebook.exit(), vous pouvez utiliser ce point de terminaison pour récupérer cette valeur. Azure Databricks limite cette API pour retourner les 5 premiers Mo de la sortie. Pour obtenir un résultat plus grand, vous pouvez stocker les résultats des travaux dans un service de stockage cloud.
Ce point de terminaison confirme que le paramètre run_id
est valide et que les paramètres non valides renvoient le code d’état HTTP 400.
Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les référencer au-delà de 60 jours, vous devez enregistrer les résultats de l’exécution précédente avant qu’ils n’expirent. Pour exporter à l’aide de l’interface utilisateur, consultez Exporter les résultats de l’exécution du travail. Pour exporter à l’aide de l’API Jobs, consultez Exportation des exécutions.
Exemple
Requête
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
Ou :
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<run-id>
par l’ID de l’exécution, par exemple123
.
Cet exemple utilise un fichier .netrc et jq.
response
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de cette exécution. Pour un travail avec plusieurs tâches, c’est le run_id de l’exécution d’une tâche. Consultez Exécutions – Obtenir la sortie. Ce champ est obligatoire. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
notebook_output OU error |
NotebookOutput OU STRING |
Si notebook_output, la sortie d’une tâche de notebook, si elle est disponible. Tâche de notebook qui se termine (avec succès ou avec un échec) sans appelerdbutils.notebook.exit() est considéré comme ayant une sortie vide. Ce champ est défini, mais sa valeur de résultat est vide.Si erreur, message d’erreur indiquant la raison pour laquelle la sortie n’est pas disponible. Ce message est non structuré et son format exact est susceptible de changer. |
metadata |
Exécuter | Tous les détails de l’exécution, à l’exception de sa sortie. |
Exécutions – Supprimer
Point de terminaison | Méthode HTTP |
---|---|
2.0/jobs/runs/delete |
POST |
Supprimer une exécution non active. Retourne une erreur si l’exécution est active.
Exemple
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
Remplacez :
<databricks-instance>
par le nom de l’instance de l’espace de travail Azure Databricks, par exempleadb-1234567890123456.7.azuredatabricks.net
.<run-id>
par l’ID de l’exécution, par exemple123
.
Cet exemple utilise un fichier .netrc.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
run_id |
INT64 |
Identificateur canonique de l’exécution pour laquelle récupérer les métadonnées. |
Structures de données
Dans cette section :
- ABFSSStorageInfo
- Mise à l’échelle automatique
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Travail
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Bibliothèque
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Exécuter
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- WorkspaceStorageInfo
ABFSSStorageInfo
Informations de stockage Azure Data Lake Storage (ADLS).
Nom du champ | Type | Description |
---|---|---|
destination |
STRING |
Destination du fichier. Exemple : abfss://... |
AutoScale
Plage définissant les quantités minimale et maximale de Workers de cluster.
Nom du champ | Type | Description |
---|---|---|
min_workers |
INT32 |
Quantité minimale de Workers à laquelle le cluster peut être réduit (scale-down) lorsqu’il est sous-exploité. C’est également le nombre initial de Workers que le cluster aura après sa création. |
max_workers |
INT32 |
Quantité maximale de Workers à laquelle le cluster peut être agrandi (scale-up) en cas de surcharge. max_workers doit être strictement supérieur à min_workers. |
AzureAttributes
Attributs relatifs à Azure définis lors de la création du cluster.
Nom du champ | Type | Description |
---|---|---|
first_on_demand |
INT32 |
Les first_on_demand premiers nœuds du cluster seront placés sur des instances à la demande. Cette valeur doit être supérieure à 0, sinon la validation de la création du cluster échoue. Si cette valeur est supérieure ou égale à la taille actuelle du cluster, tous les nœuds seront placés sur des instances à la demande. Si cette valeur est inférieure à la taille actuelle du cluster, first_on_demand nœuds seront placés sur des instances à la demande, et le reste sera placé sur des instances de disponibilité. Cette valeur n’affecte pas la taille de cluster, et ne peut pas être mutée pendant la durée de vie d’un cluster. |
availability |
AzureAvailability | Type de disponibilité utilisé pour tous les nœuds au-delà de first_on_demand . |
spot_bid_max_price |
DOUBLE |
Prix d’enchère maximal utilisé pour les instances Spot Azure. Vous pouvez définir une valeur supérieure ou égale au prix Spot actuel. Vous pouvez également définir cette valeur sur -1 (valeur par défaut), ce qui spécifie que l’instance ne peut pas être supprimée sur la base du prix. Le prix de l’instance sera le prix actuel des instances Spot ou le prix d’une instance standard. Vous pouvez consulter l’historique des tarifs et des taux d’éviction dans le Portail Azure. |
AzureAvailability
Comportement du type de disponibilité de l’instance Azure.
Type | Description |
---|---|
SPOT_AZURE |
Utiliser des instances Spot. |
ON_DEMAND_AZURE |
Utiliser des instances à la demande. |
SPOT_WITH_FALLBACK_AZURE |
Il est préférable d’utiliser des instances Spot, mais de revenir à des instances à la demande si les instances Spot ne peuvent pas être acquises (par exemple si les prix Spot Azure sont trop élevés ou hors quota). Ne s’applique pas à la disponibilité du pool. |
ClusterInstance
Identificateurs pour le cluster et le contexte Spark utilisés par une exécution. Ces deux valeurs identifient ensemble un contexte d’exécution à tout moment.
Nom du champ | Type | Description |
---|---|---|
cluster_id |
STRING |
Identificateur canonique du cluster utilisé par une exécution. Ce champ est toujours disponible pour les exécutions sur les clusters existants. Pour les exécutions sur de nouveaux clusters, il devient disponible une fois que le cluster est créé. Cette valeur peut être utilisée pour afficher les journaux en accédant à /#setting/sparkui/$cluster_id/driver-logs . Les journaux restent disponibles une fois l’exécution terminée.La réponse ne contient pas ce champ si l’identificateur n’est pas encore disponible. |
spark_context_id |
STRING |
Identificateur canonique du contexte Spark utilisé par une exécution. Ce champ est renseigné une fois que l’exécution commence l’exécution. Cette valeur peut être utilisée pour afficher l’interface utilisateur Spark en accédant à /#setting/sparkui/$cluster_id/$spark_context_id . L’interface utilisateur Spark restera disponible une fois l’exécution terminée.La réponse ne contient pas ce champ si l’identificateur n’est pas encore disponible. |
ClusterLogConf
Chemin du journal de cluster.
Nom du champ | Type | Description |
---|---|---|
dbfs |
DbfsStorageInfo | Emplacement DBFS du journal de cluster. La destination doit être fournie. Par exemple :{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
Important
- Lorsque vous exécutez un travail sur un nouveau cluster de travaux, le travail est traité comme une charge de travail de calcul (automatique) de travaux soumise à la tarification du calcul des travaux.
- Lorsque vous exécutez un travail sur un cluster à usage général existant, il est traité comme une charge de travail de calcul à usage général (interactive) soumise à des tarifs de calcul à usage général.
Nom du champ | Type | Description |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Si existing_cluster_id, ID d’un cluster existant qui sera utilisé pour toutes les exécutions de ce travail. Lors de l’exécution de travaux sur un cluster existant, vous devrez peut-être redémarrer manuellement le cluster s’il cesse de répondre. Nous suggérons d’exécuter des travaux sur les nouveaux clusters pour une plus grande fiabilité. Si new_cluster, description d’un cluster qui sera créé pour chaque exécution. Si vous spécifiez PipelineTask, ce champ peut être vide. |
libraries |
Tableau de bibliothèque | Liste de bibliothèques facultatives à installer sur le cluster qui exécute le travail. La valeur par défaut est une liste vide. |
ClusterTag
Définition d’étiquette de cluster.
Type | Description |
---|---|
STRING |
Clé de l’étiquette. La clé doit : - Comporter entre 1 et 512 caractères - Ne contenir aucun des caractères <>%*&+?\\/ - Ne pas commencer par azure , microsoft ou windows |
STRING |
Valeur de la balise. La longueur de la valeur doit être inférieure ou égale à 256 caractères UTF-8. |
CronSchedule
Nom du champ | Type | Description |
---|---|---|
quartz_cron_expression |
STRING |
Expression Cron utilisant la syntaxe Quartz qui décrit la planification d’un travail. Pour plus d’informations, consultez Déclencheur Cron. Ce champ est obligatoire. |
timezone_id |
STRING |
ID de fuseau horaire Java. La planification d’un travail sera résolue par rapport à ce fuseau horaire. Pour plus d’informations, consultez la page Fuseau horaire Java. Ce champ est obligatoire. |
pause_status |
STRING |
Indiquez si cette planification est suspendue ou non. Entrez « SUSPENDU » ou « NON SUSPENDU ». |
DbfsStorageInfo
Informations de stockage DBFS.
Nom du champ | Type | Description |
---|---|---|
destination |
STRING |
Destination DBFS. Exemple : dbfs:/my/path |
FileStorageInfo
Informations sur le stockage de fichier.
Notes
Ce type d’emplacement n’est disponible que pour les clusters configurés à l’aide de Databricks Container Services.
Nom du champ | Type | Description |
---|---|---|
destination |
STRING |
Destination du fichier. Exemple : file:/my/file.sh |
InitScriptInfo
Chemin d’un script d’initialisation.
Pour obtenir des instructions sur l’utilisation de scripts d’initialisation avec Databricks Container Services, consultez Utiliser un script d’initialisation.
Notes
Le type de stockage de fichier (nom de champ : file
) n’est disponible que pour les clusters configurés à l’aide de Databricks Container Services. Voir FileStorageInfo.
Nom du champ | Type | Description |
---|---|---|
workspace OUdbfs (déconseillé)OR abfss |
WorkspaceStorageInfo DbfsStorageInfo (déconseillé) ABFSSStorageInfo |
Emplacement d’espace de travail du script d’initialisation. La destination doit être fournie. Par exemple,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (Déconseillé) Emplacement DBFS du script d’initialisation. La destination doit être fournie. Par exemple, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Emplacement Azure Data Lake Storage (ADLS) du script d’initialisation. La destination doit être fournie. Par exemple : { "abfss": { "destination" : "abfss://..." } } |
Travail
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique de ce travail. |
creator_user_name |
STRING |
Nom d’utilisateur du créateur. Ce champ n’est pas inclus dans la réponse si l’utilisateur a déjà été supprimé. |
run_as |
STRING |
Nom d’utilisateur sous lequel le travail s’exécutera. run_as est basé sur les paramètres de travail actuels et est défini sur le créateur du travail si le contrôle d’accès aux tâches est désactivé, ou sur l’autorisation is_owner si le contrôle d’accès aux travaux est activé. |
settings |
JobSettings | Paramètres pour ce travail et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l’aide de la méthode resetJob . |
created_time |
INT64 |
Heure à laquelle ce travail a été créé en millisecondes (millisecondes depuis 1/1/1970 UTC). |
JobEmailNotifications
Important
Les champs on_start, on_success et on_failure acceptent uniquement les caractères latins (jeu de caractères ASCII). L’utilisation de caractères non-ASCII retourne une erreur. Les caractères chinois, les kanjis japonais et les emojis sont des exemples de caractères non-ASCII non valides.
Nom du champ | Type | Description |
---|---|---|
on_start |
Tableau de STRING |
Liste d’adresses e-mail à avertir lors du démarrage d’une exécution. Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. |
on_success |
Tableau de STRING |
Liste d’adresses e-mail à notifier lorsqu’une exécution s’est terminée avec succès. Une exécution est considérée comme réussie si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state . Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. |
on_failure |
Tableau de STRING |
Liste d’adresses e-mail à notifier lorsqu’une exécution a échoué. Une exécution est considérée comme ayant échoué si elle se termine par un INTERNAL_ERROR life_cycle_state ou SKIPPED , FAILED , ou TIMED_OUT result_state. Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. |
on_duration_warning_threshold_exceeded |
Tableau de STRING |
Liste d’adresses e-mail à notifier lorsque la durée d’une exécution dépasse le seuil spécifié pour la métrique RUN_DURATION_SECONDS dans le champ health . Si aucune règle pour la métrique RUN_DURATION_SECONDS n’est spécifiée dans le champ health du travail, les notifications ne sont pas envoyées. |
no_alert_for_skipped_runs |
BOOL |
Si la valeur est true, ne pas envoyer d’e-mails aux destinataires spécifiés dans on_failure si l’exécution est ignorée. |
Nom du champ | Type | Description |
---|---|---|
on_start |
Tableau de Webhook | Liste facultative de destinations système à avertir lors du démarrage d’une exécution. Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_start . |
on_success |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsqu’une exécution se termine correctement. Une exécution est considérée comme réussie si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state . Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_success . |
on_failure |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsqu’une exécution échoue. Une exécution est considérée comme ayant échoué si elle se termine par un INTERNAL_ERROR life_cycle_state ou SKIPPED , FAILED , ou TIMED_OUT result_state. Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_failure . |
on_duration_warning_threshold_exceeded |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsque la durée d’une exécution dépasse le seuil spécifié pour la métrique RUN_DURATION_SECONDS dans le champ health . Un maximum de 3 destinations peut être spécifié pour la propriété on_duration_warning_threshold_exceeded . |
JobNotificationSettings
Nom du champ | Type | Description |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Si la valeur est true, n’envoyez pas de notifications aux destinataires spécifiés dans on_failure si l’exécution est ignorée. |
no_alert_for_canceled_runs |
BOOL |
Si la valeur est true, n’envoyez pas de notifications aux destinataires spécifiés dans on_failure si l’exécution est annulée. |
alert_on_last_attempt |
BOOL |
Si la valeur est true, n’envoyez pas de notifications aux destinataires spécifiés dans on_start pour les exécutions retentées et n’envoyez pas de notifications aux destinataires spécifiés dans on_failure avant la dernière tentative de l’exécution. |
JobSettings
Important
- Lorsque vous exécutez un travail sur un nouveau cluster de travaux, le travail est traité comme une charge de travail de calcul (automatique) de travaux soumise à la tarification du calcul des travaux.
- Lorsque vous exécutez un travail sur un cluster à usage général existant, il est traité comme une charge de travail de calcul à usage général (interactive) soumise à des tarifs de calcul à usage général.
Paramètres d’un travail. Ces paramètres peuvent être mis à jour à l’aide de la méthode resetJob
.
Nom du champ | Type | Description |
---|---|---|
existing_cluster_id OU new_cluster |
STRING OU NewCluster |
Si existing_cluster_id, ID d’un cluster existant qui sera utilisé pour toutes les exécutions de ce travail. Lors de l’exécution de travaux sur un cluster existant, vous devrez peut-être redémarrer manuellement le cluster s’il cesse de répondre. Nous suggérons d’exécuter des travaux sur les nouveaux clusters pour une plus grande fiabilité. Si new_cluster, description d’un cluster qui sera créé pour chaque exécution. Si vous spécifiez PipelineTask, ce champ peut être vide. |
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Si notebook_task, indique que ce travail doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, indique que ce travail doit exécuter un fichier JAR. Si spark_python_task, indique que ce travail doit exécuter un fichier Python. Si spark_submit_task, indique que ce travail doit être lancé par le script d’envoi Spark. Si pipeline_task, indique que ce travail doit exécuter un pipeline Delta Live Tables. Si run_job_task, indique que ce travail doit exécuter un autre travail. |
name |
STRING |
Nom facultatif pour le travail. La valeur par défaut est Untitled . |
libraries |
Tableau de bibliothèque | Liste de bibliothèques facultatives à installer sur le cluster qui exécute le travail. La valeur par défaut est une liste vide. |
email_notifications |
JobEmailNotifications | Un ensemble facultatif d’adresses e-mail qui seront notifiées lorsque des exécutions de ce travail commenceront ou se termineront, ainsi que lors de la suppression de ce travail. Le comportement par défaut consiste à ne pas envoyer d’e-mails. |
webhook_notifications |
WebhookNotifications | Ensemble facultatif de destinations système pour notifier quand les exécutions de ce travail commencent, se terminent ou échouent. |
notification_settings |
JobNotificationSettings | Paramètres de notification facultatifs utilisés lors de l’envoi de notifications à chacun des email_notifications et webhook_notifications pour ce travail. |
timeout_seconds |
INT32 |
Délai d’attente facultatif appliqué à chaque exécution de ce travail. Le comportement par défaut est de ne pas avoir de délai d’attente. |
max_retries |
INT32 |
Nombre maximal facultatif de tentatives d’exécution d’une tentative infructueuse. Une exécution est considérée comme ayant échoué si elle se termine avec FAILED result_state ouINTERNAL_ERROR life_cycle_state . La valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par défaut est de ne pas faire de nouvelle tentative. |
min_retry_interval_millis |
INT32 |
Intervalle minimal facultatif, en millisecondes, entre deux tentatives. Le comportement par défaut est que les exécutions ayant échoué sont immédiatement retentées. |
retry_on_timeout |
BOOL |
Stratégie facultative permettant de spécifier s’il faut réessayer un travail lorsqu’il expire. Le comportement par défaut consiste à ne pas réessayer en cas d’expiration du délai d’attente. |
schedule |
CronSchedule | Planification périodique facultative pour ce travail. Le comportement par défaut est que le travail s’exécute quand il est déclenché en cliquant sur « Exécuter maintenant » dans l’interface utilisateur des travaux ou en envoyant une demande d’API àrunNow . |
max_concurrent_runs |
INT32 |
Nombre maximal d’exécutions simultanées autorisées du travail. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même travail simultanément. Cela est utile, par exemple, si vous déclenchez un travail à intervalles fréquents et que vous souhaitez autoriser les exécutions consécutives à se chevaucher, ou si vous souhaitez déclencher plusieurs exécutions qui diffèrent par leurs paramètres d’entrée. Ce paramètre affecte uniquement les nouvelles exécutions. Par exemple, supposons que la concurrence du travail est de 4 et qu’il y a 4 exécutions actives simultanées. Ensuite, l’affectation de la valeur 3 à la concurrence n’interrompt aucune des exécutions actives. Toutefois, à partir de là, les nouvelles exécutions sont ignorées, à moins qu’il y ait moins de 3 exécutions actives. La valeur ne peut pas dépasser 1 000. Si vous affectez la valeur 0, toutes les nouvelles exécutions sont ignorées. Le comportement par défaut consiste à autoriser uniquement 1 exécution simultanée. |
health |
JobsHealthRules | Ensemble facultatif de règles d’intégrité définies pour le travail. |
JobTask
Nom du champ | Type | Description |
---|---|---|
notebook_task OU spark_jar_task OUspark_python_task OU spark_submit_task OUpipeline_task OU run_job_task |
NotebookTask OU SparkJarTask OU SparkPythonTask OU SparkSubmitTask OU PipelineTask OU RunJobTask | Si notebook_task, indique que ce travail doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, indique que ce travail doit exécuter un fichier JAR. Si spark_python_task, indique que ce travail doit exécuter un fichier Python. Si spark_submit_task, indique que ce travail doit être lancé par le script d’envoi Spark. Si pipeline_task, indique que ce travail doit exécuter un pipeline Delta Live Tables. Si run_job_task, indique que ce travail doit exécuter un autre travail. |
JobsHealthRule
Nom du champ | Type | Description |
---|---|---|
metric |
STRING |
Spécifie la métrique d’intégrité évaluée pour une règle d’intégrité particulière. Les valeurs valides sont RUN_DURATION_SECONDS . |
operator |
STRING |
Spécifie l’opérateur utilisé pour comparer la valeur de la métrique d’intégrité au seuil spécifié. Les valeurs valides sont GREATER_THAN . |
value |
INT32 |
Spécifie la valeur de seuil que la métrique d’intégrité doit respecter pour se conformer à la règle d’intégrité. |
JobsHealthRules
Nom du champ | Type | Description |
---|---|---|
rules |
Tableau de JobsHealthRule | Ensemble facultatif de règles d’intégrité qui peuvent être définies pour un travail. |
Bibliothèque
Nom du champ | Type | Description |
---|---|---|
jar OU egg OU whl OUpypi OU maven OU cran |
STRING OU STRING OU STRING OU PythonPyPiLibrary OU MavenLibrary OU RCranLibrary |
Si jar, URI du JAR à installer. Les URI DBFS et ADLS (abfss ) sont pris en charge. Par exemple : { "jar": "dbfs:/mnt/databricks/library.jar" } ou{ "jar": "abfss://<container-path>/library.jar" } . Si ADLS est utilisé, assurez-vous que le cluster dispose d’un accès en lecture sur la bibliothèque.Si egg, URI de l’egg à installer. Les URI DBFS et ADLS sont pris en charge. Par exemple : { "egg": "dbfs:/my/egg" } ou{ "egg": "abfss://<container-path>/egg" } .Si c’est whl, c’est l’URI du fichier wheel ou des fichiers wheels zippés qui vont être installés. Les URI DBFS et ADLS sont pris en charge. Par exemple : { "whl": "dbfs:/my/whl" } ou{ "whl": "abfss://<container-path>/whl" } . Si ADLS est utilisé, assurez-vous que le cluster dispose d’un accès en lecture sur la bibliothèque. En outre, le nom du fichier wheel doit utiliser la convention correcte. Si des fichiers wheels zippés doivent être installés, le suffixe du nom de fichier doit être .wheelhouse.zip .Si Pypi, spécification d’une bibliothèque PyPI à installer. La spécification du champ repo est facultative. S’il n’est pas spécifié, l’index pip par défaut est utilisé. Par exemple :{ "package": "simplejson", "repo": "https://my-repo.com" } Si maven, spécification d’une bibliothèque Maven à installer. Par exemple : { "coordinates": "org.jsoup:jsoup:1.7.2" } Si cran, spécification d’une bibliothèque CRAN à installer. |
MavenLibrary
Nom du champ | Type | Description |
---|---|---|
coordinates |
STRING |
Coordonnées Maven de type Gradle. Par exemple : org.jsoup:jsoup:1.7.2 . Ce champ est obligatoire. |
repo |
STRING |
Référentiel Maven à partir duquel installer le package Maven. En cas d’omission, une recherche est effectuée dans le référentiel central Maven et dans les packages Spark. |
exclusions |
Tableau de STRING |
Liste des dépendances à exclure. Par exemple : ["slf4j:slf4j", "*:hadoop-client"] .Exclusions de dépendance Maven : https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html . |
NewCluster
Nom du champ | Type | Description |
---|---|---|
num_workers OU autoscale |
INT32 OU AutoScale |
Si num_workers, nombre de nœuds Worker que ce cluster doit avoir. Un cluster dispose d’un pilote de Spark et num_workers exécuteurs pour un total de num_workers + 1 nœuds Spark. Remarque : Lors de la lecture des propriétés d’un cluster, ce champ reflète le nombre souhaité de Workers plutôt que le nombre réel de Workers. Par exemple, si un cluster est redimensionné de 5 à 10 Workers, ce champ sera immédiatement mis à jour pour refléter la taille cible de 10 Workers, tandis que les Workers listés dans spark_info augmenteront progressivement de 5 à 10 à mesure que les nouveaux nœuds seront provisionnés. Si mise à l'échelle automatique, paramètres nécessaires pour effectuer automatiquement un scale-up ou un scale-down des clusters en fonction de la charge. |
spark_version |
STRING |
La version Spark du cluster. Une liste des versions Spark disponibles peut être récupérée à l’aide de l’appel GET 2.0/clusters/spark-versions. Ce champ est obligatoire. |
spark_conf |
SparkConfPair | Objet contenant un ensemble de paires clé-valeur de configuration Spark spécifiées par l’utilisateur et facultatives. Vous pouvez également transmettre une chaîne d’options JVM supplémentaires au pilote et aux exécuteurs, respectivement viaspark.driver.extraJavaOptions et spark.executor.extraJavaOptions .Exemples de configurations Spark : {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} ou{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"} |
node_type_id |
STRING |
Ce champ code, via une seule valeur, les ressources disponibles pour chacun des nœuds Spark de ce cluster. Par exemple, les nœuds Spark peuvent être configurés et optimisés pour des charges de travail gourmandes en mémoire ou en calcul. Une liste de types de nœuds disponibles peut être récupérée à l’aide de l’appel GET 2.0/clusters/list-node-types. Ce champ, le champ instance_pool_id ou une stratégie de cluster qui spécifie un ID de type de nœud ou un ID de pool d’instances, est obligatoire. |
driver_node_type_id |
STRING |
Type de nœud du pilote Spark. Ce champ est facultatif. S’il n’est pas défini, le type de nœud du pilote est défini sur la même valeur que le node_type_id défini ci-dessus. |
custom_tags |
ClusterTag | Objet contenant un ensemble d’étiquettes pour les ressources de cluster. Databricks marque toutes les ressources de cluster (telles que les machines virtuelles) avec ces étiquettes en plus de default_tags. Remarque : - Les étiquettes ne sont pas prises en charge sur les types de nœuds hérités tels que les nœuds à calcul optimisé et à mémoire optimisée - Databricks autorise au maximum 45 étiquettes personnalisées |
cluster_log_conf |
ClusterLogConf | Configuration pour la remise des journaux Spark à une destination de stockage à long terme. Une seule destination peut être spécifiée pour un cluster. Si la configuration est donnée, les journaux sont remis à la destination chaque 5 mins . La destination des journaux de pilote est <destination>/<cluster-id>/driver , tandis que celle des journaux d’exécuteur est <destination>/<cluster-id>/executor . |
init_scripts |
Tableau de InitScriptInfo | Configuration pour le stockage des scripts d’initialisation. N’importe quel nombre de scripts peut être spécifié. Les scripts sont exécutés séquentiellement dans l’ordre indiqué. Si cluster_log_conf est spécifié, les journaux des scripts d’initialisation sont envoyés à<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | Objet contenant un ensemble de paires clé-valeur de variables d’environnement facultatives spécifiées par l’utilisateur. La paire clé-valeur de la forme (X,Y) est exportées telle quelle (autrement dit,export X='Y' ) lors du lancement du pilote et des Workers.Pour spécifier un ensemble supplémentaire de SPARK_DAEMON_JAVA_OPTS , nous vous recommandons de les ajouter à $SPARK_DAEMON_JAVA_OPTS comme indiqué dans l’exemple suivant. Cela permet de s’assurer que toutes les variables d’environnement par défaut gérées par Databricks sont également incluses.Exemples de variables d’environnement Spark : {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} ou{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"} |
enable_elastic_disk |
BOOL |
Mise à l’échelle automatique du stockage local : lorsque cette option est activée, ce cluster acquiert dynamiquement de l’espace disque supplémentaire lorsque ses Workers Spark sont à court d’espace disque. Pour plus d’informations, reportez-vous à Activer la mise à l’échelle automatique du stockage local. |
driver_instance_pool_id |
STRING |
ID facultatif du pool d’instances à utiliser pour les nœuds de pilote. Vous devez également indiquer instance_pool_id . Pour plus d’informations, consultez API Pools d’instances. |
instance_pool_id |
STRING |
ID facultatif du pool d’instances à utiliser pour les nœuds de cluster. Si driver_instance_pool_id est présent,instance_pool_id est utilisé uniquement pour les nœuds Worker. Dans le cas contraire, il est utilisé à la fois pour le nœud pilote et les nœuds Worker. Pour plus d’informations, consultez API Pools d’instances. |
NotebookOutput
Nom du champ | Type | Description |
---|---|---|
result |
STRING |
Valeur transmise à dbutils.notebook.exit(). Azure Databricks limite cette API pour retourner le 1 premier Mo de la valeur. Pour obtenir un résultat plus grand, votre travail peut stocker les résultats dans un service de stockage cloud. Ce champ est absent si dbutils.notebook.exit() n’a jamais été appelé. |
truncated |
BOOLEAN |
Indique si le résultat a été tronqué. |
NotebookTask
Toutes les cellules de sortie sont soumises à la taille de 8 Mo. Si la sortie d’une cellule a une taille supérieure, le reste de l’exécution est annulé et l’exécution est marquée comme ayant échoué. Dans ce cas, une partie de la sortie de contenu provenant d’autres cellules peut également être manquante.
Si vous avez besoin d’aide pour trouver les cellules au-delà de la limite, exécutez le notebook sur un cluster à usage général et utilisez cette technique d’enregistrement automatique du notebook.
Nom du champ | Type | Description |
---|---|---|
notebook_path |
STRING |
Chemin absolu du notebook à exécuter dans l’espace de travail Azure Databricks. Ce chemin doit commencer par une barre oblique. Ce champ est obligatoire. |
revision_timestamp |
LONG |
Timestamp de la révision du notebook. |
base_parameters |
Un mappage de ParamPair | Paramètres de base à utiliser pour chaque exécution de ce travail. Si l’exécution est lancée par un appel à run-now avec les paramètres spécifiés, les deux mappages de paramètres sont fusionnés. Si la même clé est spécifiée dans base_parameters et dans run-now , la valeur de run-now sera utilisée.Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. Si le notebook accepte un paramètre qui n’est pas spécifié dans les paramètres de remplacement base_parameters ou run-now du travail, la valeur par défaut du notebook est utilisée.Récupérez ces paramètres dans un notebook à l’aide de dbutils.widgets.get. |
ParamPair
Paramètres basés sur le nom des tâches exécutant des tâches du notebook.
Important
Les champs de cette structure de données acceptent uniquement des caractères latins (jeu de caractères ASCII). L’utilisation de caractères non-ASCII retourne une erreur. Les caractères chinois, les kanjis japonais et les emojis sont des exemples de caractères non-ASCII non valides.
Type | Description |
---|---|
STRING |
Nom du paramètre. Transmettez à dbutils.widgets.get pour récupérer la valeur. |
STRING |
Valeur du paramètre. |
PipelineTask
Nom du champ | Type | Description |
---|---|---|
pipeline_id |
STRING |
Nom complet de la tâche de pipeline Delta Live Tables à exécuter. |
PythonPyPiLibrary
Nom du champ | Type | Description |
---|---|---|
package |
STRING |
Nom du package PyPi à installer. Une spécification de version exacte facultative est également prise en charge. Exemples : simplejson et simplejson==3.8.0 . Ce champ est obligatoire. |
repo |
STRING |
Dépôt où se trouve le package. En l’absence d’indication, l’index pip par défaut est utilisé. |
RCranLibrary
Nom du champ | Type | Description |
---|---|---|
package |
STRING |
Nom du package CRAN à installer. Ce champ est obligatoire. |
repo |
STRING |
Dépôt où se trouve le package. S’il n’est pas spécifié, le référentiel CRAN par défaut est utilisé. |
Exécuter
Toutes les informations relatives à une exécution à l’exception de sa sortie. La sortie peut être récupérée séparément avec la méthode getRunOutput
.
Nom du champ | Type | Description |
---|---|---|
job_id |
INT64 |
Identificateur canonique du travail qui contient cette exécution. |
run_id |
INT64 |
Identificateur canonique du travail à réinitialiser. Cet ID est unique pour toutes les exécutions de tous les travaux. |
creator_user_name |
STRING |
Nom d’utilisateur du créateur. Ce champ n’est pas inclus dans la réponse si l’utilisateur a déjà été supprimé. |
number_in_job |
INT64 |
Numéro de séquence de cette exécution parmi toutes les exécutions du travail. Cette valeur commence à 1. |
original_attempt_run_id |
INT64 |
Si cette exécution est une nouvelle tentative d’une tentative d’exécution antérieure, ce champ contient l’élément run_id de la tentative d’origine. Dans le cas contraire, il est identique au run_id. |
state |
RunState | États de résultat et de cycle de vie de l’exécution. |
schedule |
CronSchedule | Planification cron qui a déclenché cette exécution si elle a été déclenchée par le planificateur périodique. |
task |
JobTask | Tâche exécutée par l’exécution, le cas échéant. |
cluster_spec |
ClusterSpec | Instantané de la spécification de cluster du travail lors de la création de cette exécution. |
cluster_instance |
ClusterInstance | Cluster utilisé pour cette exécution. Si l’exécution est spécifiée pour utiliser un nouveau cluster, ce champ est défini une fois que le service de travaux a demandé un cluster pour l’exécution. |
overriding_parameters |
RunParameters | Paramètres utilisés pour cette exécution. |
start_time |
INT64 |
Heure à laquelle cette exécution a commencé en millisecondes (millisecondes depuis 1/1/1970 UTC). Cela peut ne pas être l’heure de début de l’exécution de la tâche de travail, par exemple, si le travail est planifié pour s’exécuter sur un nouveau cluster, il s’agit de l’heure à laquelle l’appel de création de cluster est émis. |
setup_duration |
INT64 |
Le temps nécessaire à la configuration du cluster en millisecondes. Pour les exécutions sur de nouveaux clusters, il s’agit de l’heure de création du cluster, pour les exécutions sur les clusters existants. Cette fois-ci, cette durée doit être très courte. |
execution_duration |
INT64 |
Durée en millisecondes nécessaire à l’exécution des commandes dans le fichier JAR ou le notebook jusqu’à ce qu’elles soient terminées, échouées, expirées, ont été annulées ou rencontré une erreur inattendue. |
cleanup_duration |
INT64 |
Durée en millisecondes nécessaire à l’arrêt du cluster et au nettoyage des artefacts associés. La durée totale de l’exécution est la somme de setup_duration, execution_duration et cleanup_duration. |
end_time |
INT64 |
Heure à laquelle cette exécution s’est terminée en millisecondes (millisecondes depuis 1/1/1970 UTC). Ce champ est défini sur 0 si le travail est toujours en cours d’exécution. |
trigger |
TriggerType | Le type de déclencheur qui a déclenché cette exécution. |
run_name |
STRING |
Nom facultatif pour l’exécution. La valeur par défaut est Untitled . La longueur maximale autorisée est de 4 096 octets dans l’encodage UTF-8. |
run_page_url |
STRING |
URL de la page de détails de l’exécution. |
run_type |
STRING |
Type de l'élément. - JOB_RUN – Exécution normale du travail. Une exécution créée avec Exécuter maintenant.- WORKFLOW_RUN – Exécution du workflow. Une exécution créée avec dbutils.notebook.run.- SUBMIT_RUN – Envoyer l’exécution. Une exécution créée avec Exécuter maintenant. |
attempt_number |
INT32 |
Numéro de séquence de la tentative d’exécution d’un travail déclenché. La première tentative d’exécution a une attempt_number de 0. Si la tentative d’exécution initiale échoue et que la tâche a une stratégie de nouvelle tentative (max_retries > 0), les exécutions suivantes sont créées avec un original_attempt_run_id de l’ID de la tentative d’origine et une incrémentation attempt_number . Les exécutions sont retentées uniquement jusqu’à leur succès, et la valeur maximale attempt_number est identique à celle du travail max_retries . |
RunJobTask
Nom du champ | Type | Description |
---|---|---|
job_id |
INT32 |
Identificateur unique du travail à exécuter. Ce champ est obligatoire. |
RunLifeCycleState
État du cycle de vie d’une exécution. Les transitions d’état autorisées sont :
QUEUED
->PENDING
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
State | Description |
---|---|
QUEUED |
L’exécution a été déclenchée, mais elle est mise en file d’attente parce qu’elle a atteint l’une des limites suivantes : - Le nombre maximal d’exécutions actives simultanées dans l’espace de travail. - Le nombre maximal d’exécutions de tâche simultanées Run Job dans l’espace de travail.- Le nombre maximal d’exécutions simultanées du travail. La mise en file d’attente doit être activée sur le travail ou l’exécution pour pouvoir atteindre cet état. |
PENDING |
L’exécution a été déclenchée. Si le nombre maximal d’exécutions simultanées configurées du travail est déjà atteint, l’exécution passe immédiatement à l’état SKIPPED sans préparer les ressources. Dans le cas contraire, la préparation du cluster et l’exécution sont en cours. |
RUNNING |
La tâche de cette exécution est en cours d’exécution. |
TERMINATING |
La tâche de cette exécution est terminée et le cluster et le contexte d’exécution sont en cours de nettoyage. |
TERMINATED |
La tâche de cette exécution est terminée et le cluster et le contexte d’exécution ont été nettoyés. Cet état est terminal. |
SKIPPED |
Cette exécution a été abandonnée, car une exécution précédente du même travail était déjà active. Cet état est terminal. |
INTERNAL_ERROR |
État exceptionnel indiquant une défaillance dans le service travaux, tel qu’une défaillance réseau sur une longue période. Si une exécution sur un nouveau cluster se termine dans l’état INTERNAL_ERROR , le service Jobs met le cluster à niveau dès que possible. Cet état est terminal. |
RunParameters
Paramètres de cette exécution. Une seule des instances jar_params, python_params
ou notebook_params doit être spécifiée dans la requête run-now
, selon le type de tâche de travail.
Les travaux avec une tâche JAR Spark ou une tâche Python prennent une liste de paramètres basés sur les positions, et les travaux avec des tâches de notebook prennent un mappage des valeurs clés.
Nom du champ | Type | Description |
---|---|---|
jar_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec des tâches JAR Spark, par exemple "jar_params": ["john doe", "35"] . Les paramètres sont utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche de fichier JAR Spark. Si run-now n’est pas défini, il s’agit d’une liste vide par défaut. jar_params ne peut pas être spécifié conjointement avec notebook_params. La représentation JSON de ce champ (autrement dit {"jar_params":["john doe","35"]} ,) ne peut pas dépasser 10 000 octets.Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. |
notebook_params |
Un mappage de ParamPair | Un mappage entre les clés et les valeurs des travaux avec la tâche du notebook, par exemple"notebook_params": {"name": "john doe", "age": "35"} . Le mappage est passé au notebook et est accessible via la fonction dbutils.widgets.obten.S’il n’est pas spécifié sur run-now , l’exécution déclenchée utilise les paramètres de base du travail.jar_params ne peut pas être spécifié conjointement avec notebook_params. Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. La représentation JSON de ce profil (c’est-à-dire {"notebook_params":{"name":"john doe","age":"35"}} ) ne peut pas dépasser 10 000 octets. |
python_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec des tâches Python, par exemple "python_params": ["john doe", "35"] . Les paramètres sont passés au fichier Python en tant que paramètres de ligne de commande. S’il est spécifié sur run-now , il remplace les paramètres spécifiés dans le paramètre de travail. La représentation JSON de ce champ (autrement dit {"python_params":["john doe","35"]} ,) ne peut pas dépasser 10 000 octets.Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. >[!IMPORTANT] >> ces paramètres acceptent uniquement les caractères latins (jeu de caractères ASCII). > L’utilisation de caractères non-ASCII retourne une erreur. Les caractères chinois, les kanjis japonais et les emojis > sont des exemples de caractères non-ASCII non valides. |
spark_submit_params |
Tableau de STRING |
Liste de paramètres pour les travaux avec la tâche d’envoi Spark, par exemple"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Les paramètres sont transmis au script spark-submit en tant que paramètres de ligne de commande. S’il est spécifié sur run-now , il remplace les paramètres spécifiés dans le paramètre de travail. La représentation JSON de ce champ (autrement dit {"python_params":["john doe","35"]} ,) ne peut pas dépasser 10 000 octets.Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. >[!IMPORTANT] >> ces paramètres acceptent uniquement les caractères latins (jeu de caractères ASCII). > L’utilisation de caractères non-ASCII retourne une erreur. Les caractères chinois, les kanjis japonais et les emojis > sont des exemples de caractères non-ASCII non valides. |
RunResultState
État de résultat de l’exécution.
- Si
life_cycle_state
=TERMINATED
: si la série de tests a été exécutée, le résultat est garanti comme étant disponible et indique le résultat de la tâche. - Si
life_cycle_state
=PENDING
,RUNNING
ouSKIPPED
, l’état de résultat n’est pas disponible. - Si
life_cycle_state
=TERMINATING
ou lifecyclestate =INTERNAL_ERROR
: l’état de résultat est disponible si l’exécution avait une tâche et a pu la démarrer.
Une fois disponible, l’état du résultat ne change jamais.
State | Description |
---|---|
SUCCESS |
La tâche a été terminée avec succès. |
FAILED |
La tâche s’est terminée avec une erreur. |
TIMEDOUT |
L’exécution a été arrêtée après avoir atteint le délai d’expiration. |
CANCELED |
L’exécution a été annulée à la demande de l’utilisateur. |
RunState
Nom du champ | Type | Description |
---|---|---|
life_cycle_state |
RunLifeCycleState | Description de l’emplacement actuel d’une exécution dans le cycle de vie de l’exécution. Ce champ est toujours disponible dans la réponse. |
result_state |
RunResultState | État de résultat de l’exécution. S’il n’est pas disponible, la réponse n’inclut pas ce champ. Pour plus d’informations sur la disponibilité de result_state, consultez RunResultState. |
user_cancelled_or_timedout |
BOOLEAN |
Indique si une exécution a été annulée manuellement par un utilisateur ou par le planificateur, car l’exécution a expiré. |
state_message |
STRING |
Message descriptif pour l’état actuel. Ce champ est non structuré et son format exact est susceptible de changer. |
SparkConfPair
Paires clé-valeur de configuration Spark.
Type | Description |
---|---|
STRING |
Nom d’une propriété de configuration. |
STRING |
Valeur de la propriété de configuration. |
SparkEnvPair
Paires clé-valeur de variables d’environnements Spark.
Important
Lorsque vous spécifiez des variables d’environnement dans un cluster de travail, les champs de cette structure de données acceptent uniquement des caractères latins (jeu de caractères ASCII). L’utilisation de caractères non-ASCII retourne une erreur. Les caractères chinois, les kanjis japonais et les emojis sont des exemples de caractères non-ASCII non valides.
Type | Description |
---|---|
STRING |
Nom d’une variable d’environnement. |
STRING |
Valeur de la variable d’environnement |
SparkJarTask
Nom du champ | Type | Description |
---|---|---|
jar_uri |
STRING |
Obsolète depuis 04/2016. Fournissez un jar par le biais du champlibraries à la place. Pour voir un exemple, consultez Créer. |
main_class_name |
STRING |
Nom complet de la classe contenant la méthode principale à exécuter. Cette classe doit être contenue dans un fichier JAR fourni en tant que bibliothèque. Le code doit utiliser SparkContext.getOrCreate pour obtenir un contexte Spark ; sinon, les exécutions du travail échouent. |
parameters |
Tableau de STRING |
Paramètres passés à la méthode principale. Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. |
SparkPythonTask
Nom du champ | Type | Description |
---|---|---|
python_file |
STRING |
L’URI du fichier Python à exécuter. Les chemins DBFS sont pris en charge. Ce champ est obligatoire. |
parameters |
Tableau de STRING |
Les paramètres de ligne de commande qui sont passés au fichier Python. Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. |
SparkSubmitTask
Important
- Vous pouvez exécuter des tâches d’envoi Spark uniquement sur les nouveaux clusters.
- Dans la spécification new_cluster,
libraries
etspark_conf
ne sont pas pris en charge. Utilisez--jars
et--py-files
pour ajouter des bibliothèques Java et Python et--conf
pour définir la configuration Spark. master
,deploy-mode
etexecutor-cores
sont configurés automatiquement par Azure Databricks. Vous ne pouvez pas les spécifier dans des paramètres.- Par défaut, le travail d’envoi Spark utilise toute la mémoire disponible (sauf la mémoire réservée pour les services Azure Databricks). Vous pouvez définir
--driver-memory
et--executor-memory
à une valeur inférieure, pour laisser de la place à l’utilisation hors du tas. - Les arguments
--jars
,--py-files
,--files
prennent en charge les chemins d’accès DBFS.
Par exemple, en supposant que le fichier JAR est chargé sur DBFS, vous pouvez exécuter SparkPi
en définissant les paramètres suivants.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Nom du champ | Type | Description |
---|---|---|
parameters |
Tableau de STRING |
Paramètres de ligne de commande passés à l’envoi Spark. Utilisez Qu’est-ce qu’une référence de valeur dynamique ? pour définir des paramètres contenant des informations sur les exécutions de travaux. |
TriggerType
Il s’agit du type de déclencheur qui peut déclencher une exécution.
Type | Description |
---|---|
PERIODIC |
Les planifications qui déclenchent périodiquement des exécutions, telles qu’un planificateur Cron. |
ONE_TIME |
Déclencheurs uniques déclenchant une seule exécution. Cela se produit lorsque vous déclenchez une seule exécution à la demande par le biais de l’interface utilisateur ou de l’API. |
RETRY |
Indique une exécution qui est déclenchée comme une nouvelle tentative d’une exécution ayant échoué précédemment. Cela se produit lorsque vous demandez à exécuter à nouveau le travail en cas d’échec. |
ViewItem
Le contenu exporté est au format HTML. Par exemple, si l’affichage à exporter est un tableau de bord, une chaîne HTML est retournée pour chaque tableau de bord.
Nom du champ | Type | Description |
---|---|---|
content |
STRING |
Contenu de la vue. |
name |
STRING |
Nom de l’élément d’affichage. Dans le cas d’un affichage de code, il s’agit du nom du notebook. Dans le cas d’un affichage de tableau de bord, il s’agit du nom du tableau de bord. |
type |
ViewType | Type de l’élément d’affichage. |
ViewType
Type | Description |
---|---|
NOTEBOOK |
Élément d’affichage du notebook. |
DASHBOARD |
Élément d’affichage du tableau de bord. |
ViewsToExport
Affichage à exporter : code, tous les tableaux de bord, ou tout.
Type | Description |
---|---|
CODE |
Mode Code du notebook. |
DASHBOARDS |
Tous les affichages du tableau de bord du notebook. |
ALL |
Tous les affichages du notebook. |
Webhook
Nom du champ | Type | Description |
---|---|---|
id |
STRING |
Identificateur référençant une destination de notification système. Ce champ est obligatoire. |
WebhookNotifications
Nom du champ | Type | Description |
---|---|---|
on_start |
Tableau de Webhook | Liste facultative de destinations système à avertir lors du démarrage d’une exécution. Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_start . |
on_success |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsqu’une exécution se termine correctement. Une exécution est considérée comme réussie si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state . Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_success . |
on_failure |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsqu’une exécution échoue. Une exécution est considérée comme ayant échoué si elle se termine par un INTERNAL_ERROR life_cycle_state ou un SKIPPED , FAILED ou TIMED_OUT result_state . Si elle n’est pas spécifiée lors de la création, de la réinitialisation ou de la mise à jour du travail, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peut être spécifié pour la propriété on_failure . |
on_duration_warning_threshold_exceeded |
Tableau de Webhook | Liste facultative de destinations système à notifier lorsque la durée d’une exécution dépasse le seuil spécifié pour la métrique RUN_DURATION_SECONDS dans le champ health . Un maximum de 3 destinations peut être spécifié pour la propriété on_duration_warning_threshold_exceeded . |
WorkspaceStorageInfo
Informations de stockage de l’espace de travail.
Nom du champ | Type | Description |
---|---|---|
destination |
STRING |
Destination du fichier. Exemple : /Users/someone@domain.com/init_script.sh |