Partager via


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 exemple adb-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 OU
spark_python_task OU spark_submit_task OU
pipeline_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 ou
INTERNAL_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 :

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 :

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 exemple adb-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 exemple adb-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 ou
job_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 exemple adb-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 exemple adb-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 OU
spark_python_task OU spark_submit_task OU
pipeline_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 exemple adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> par l’ID du travail, par exemple 123.
  • « <true-false> par true ou false ».
  • <offset>par la valeur offset.
  • <limit>par la valeur limit.
  • <run-type>par la valeur run_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 :

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 du
champ 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 le
cleanup_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 des
setup_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 :

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 :

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 :

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 :

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 appeler
dbutils.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 :

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

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 OU
dbfs (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 OU
spark_python_task OU spark_submit_task OU
pipeline_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 ou
INTERNAL_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 OU
spark_python_task OU spark_submit_task OU
pipeline_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 OU
pypi 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 via
spark.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_idou 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 ou SKIPPED, 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 et spark_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 et executor-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