Aller au contenu principal

API Jobs 2.0

important

Cet article documente la version 2.0 de l'API Jobs. Cependant, Databricks recommande d'utiliser l'API Jobs 2.2 pour les clients et scripts nouveaux et existants. Pour plus de détails sur les changements dans la version 2.2 de l'API Jobs, consultez Mise à jour de l'API Jobs 2.1 vers 2.2.

L'API Jobs vous permet de créer, de modifier et de supprimer des jobs. La taille maximale autorisée d'une requête vers l'API Jobs est de 10Mo.

Pour en savoir plus sur les fonctionnalités mises à jour dans les versions plus récentes de l’API Jobs, consultez Mise à jour de l’API Jobs 2.0 vers 2.1 et Mise à jour de l’API Jobs 2.1 vers 2.2.

attention

Vous ne devez jamais coder en dur des secrets ou les stocker en texte brut. Utilisez l’ API Secrets pour gérer les secrets dans la CLI Databricks. Utilisez l'utilitaire Secrets (dbutils.secrets) pour référencer les secrets dans les Notebooks et les Jobs.

remarque

Si vous recevez une erreur de niveau 500 lors de l'envoi de requêtes API Jobs, Databricks recommande de réessayer les requêtes pendant 10 min maximum (avec un intervalle minimum de 30 secondes entre les tentatives).

important

Pour accéder aux APIs REST Databricks, vous devez vous authentifier.

Créer

Point de terminaison

Méthode HTTP

2.0/jobs/create

POST

Point de terminaison

Méthode HTTP

2.0/jobs/create

POST

Créez un nouveau job.

Exemple

Cet exemple crée un job qui exécute une tâche JAR chaque nuit à 22h15.

Demande

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

JSON
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"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"
}
}

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • Le contenu de create-job.json avec des champs appropriés à votre solution.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"job_id": 1
}

Structure de la requête

important
  • Lorsque vous exécutez un Job sur un nouveau cluster de Jobs, le Job est traité comme une charge de travail de Compute de Jobs (automatisée) soumise aux Tarifs du Compute de Jobs.
  • Lorsque vous exécutez un Job sur un cluster polyvalent existant, il est traité comme une charge de travail de compute polyvalent (interactif) soumise aux Tarifs du compute polyvalent.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

name

STRING

Un nom facultatif pour le Job. La valeur par default est Untitled.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

email_notifications

JobEmailNotifications

Un ensemble facultatif d'adresses e-mail notifiées lorsque les exécutions de ce job commencent et se terminent, et lorsque ce job est supprimé. Le comportement par default n'est pas d'envoyer d'e-mails.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des email_notifications et webhook_notifications pour ce Job.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

max_retries

INT32

Un nombre maximum facultatif de fois pour relancer une exécution ayant échoué. Une exécution est considérée comme échouée si elle se termine avec l'état de résultat FAILED ou INTERNAL_ERROR life_cycle_stateLa valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par default est de ne jamais réessayer.

min_retry_interval_millis

INT32

Un intervalle minimal facultatif en millisecondes entre le start de l'exécution échouée et l'exécution de nouvelle tentative suivante. Le comportement par default est que les exécutions infructueuses sont immédiatement relancées.

retry_on_timeout

BOOL

Une règle facultative pour spécifier s'il faut relancer un Job en cas de dépassement du délai d'attente. Le comportement par default est de ne pas réessayer en cas de délai d'expiration.

schedule

Planification Cron

Un planning périodique facultatif pour ce job. Le comportement par default est que le Job s'exécute lorsqu'il est déclenché en cliquant sur Exécuter maintenant dans l'interface utilisateur des Jobs ou en envoyant une requête API à runNow.

max_concurrent_runs

INT32

Un nombre maximal facultatif d'exécutions simultanées du job. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même Job simultanément. Ceci est utile par exemple si vous Trigger votre Job sur un calendrier fréquent et que vous souhaitez permettre aux exécutions consécutives de se chevaucher, ou si vous voulez Trigger plusieurs exécutions qui diffèrent par leurs parameters d'entrée. Ce paramètre n’affecte que les nouvelles exécutions. Par exemple, supposons que la concurrence du Job soit de 4 et qu'il y ait 4 exécutions actives simultanées. Alors, définir la concurrence à 3 ne mettra fin à aucune des exécutions actives. Cependant, à partir de ce moment-là, les nouvelles exécutions sont ignorées, sauf s'il y a moins de 3 exécutions actives. Cette valeur ne peut pas dépasser 1 000. Régler cette valeur à 0 entraîne le saut de toutes les nouvelles exécutions. Le comportement par default est d'autoriser une seule exécution simultanée.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

name

STRING

Un nom facultatif pour le Job. La valeur par default est Untitled.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

email_notifications

JobEmailNotifications

Un ensemble facultatif d'adresses e-mail notifiées lorsque les exécutions de ce job commencent et se terminent, et lorsque ce job est supprimé. Le comportement par default n'est pas d'envoyer d'e-mails.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des email_notifications et webhook_notifications pour ce Job.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

max_retries

INT32

Un nombre maximum facultatif de fois pour relancer une exécution ayant échoué. Une exécution est considérée comme échouée si elle se termine avec l'état de résultat FAILED ou INTERNAL_ERROR life_cycle_stateLa valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par default est de ne jamais réessayer.

min_retry_interval_millis

INT32

Un intervalle minimal facultatif en millisecondes entre le start de l'exécution échouée et l'exécution de nouvelle tentative suivante. Le comportement par default est que les exécutions infructueuses sont immédiatement relancées.

retry_on_timeout

BOOL

Une règle facultative pour spécifier s'il faut relancer un Job en cas de dépassement du délai d'attente. Le comportement par default est de ne pas réessayer en cas de délai d'expiration.

schedule

Planification Cron

Un planning périodique facultatif pour ce job. Le comportement par default est que le Job s'exécute lorsqu'il est déclenché en cliquant sur Exécuter maintenant dans l'interface utilisateur des Jobs ou en envoyant une requête API à runNow.

max_concurrent_runs

INT32

Un nombre maximal facultatif d'exécutions simultanées du job. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même Job simultanément. Ceci est utile par exemple si vous Trigger votre Job sur un calendrier fréquent et que vous souhaitez permettre aux exécutions consécutives de se chevaucher, ou si vous voulez Trigger plusieurs exécutions qui diffèrent par leurs parameters d'entrée. Ce paramètre n’affecte que les nouvelles exécutions. Par exemple, supposons que la concurrence du Job soit de 4 et qu'il y ait 4 exécutions actives simultanées. Alors, définir la concurrence à 3 ne mettra fin à aucune des exécutions actives. Cependant, à partir de ce moment-là, les nouvelles exécutions sont ignorées, sauf s'il y a moins de 3 exécutions actives. Cette valeur ne peut pas dépasser 1 000. Régler cette valeur à 0 entraîne le saut de toutes les nouvelles exécutions. Le comportement par default est d'autoriser une seule exécution simultanée.

Structure de la réponse

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique du Job nouvellement créé.

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique du Job nouvellement créé.

Liste

Point de terminaison

Méthode HTTP

2.0/jobs/list

GET

Point de terminaison

Méthode HTTP

2.0/jobs/list

GET

Lister tous les jobs.

Exemple

Demande

Bash
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Remplacez <databricks-instance> par le nom de l'instance de workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"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 réponse

Nom de champ

Type

Description

jobs

Un tableau de Job

La liste des jobs.

Nom de champ

Type

Description

jobs

Un tableau de Job

La liste des jobs.

Supprimer

Point de terminaison

Méthode HTTP

2.0/jobs/delete

POST

Point de terminaison

Méthode HTTP

2.0/jobs/delete

POST

Supprimez un job et envoyez un e-mail aux adresses spécifiées dans JobSettings.email_notifications. Aucune action ne se produit si le job a déjà été supprimé. Une fois le job supprimé, ni ses détails ni son historique d'exécution ne sont visibles dans l'interface utilisateur des Jobs ou l'API. Le Job est garanti d'être supprimé dès l'achèvement de cette requête. Cependant, les exécutions qui étaient actives avant la réception de cette requête peuvent toujours l'être. Ils seront terminés de manière asynchrone.

Exemple

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <job-id> avec l'ID du Job, par exemple 123.

Cet exemple utilise un fichier .netrc fichier.

Structure de la requête

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job à supprimer. Ce champ est obligatoire.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job à supprimer. Ce champ est obligatoire.

Obtenir

Point de terminaison

Méthode HTTP

2.0/jobs/get

GET

Point de terminaison

Méthode HTTP

2.0/jobs/get

GET

Récupérez les informations relatives à un Job unique.

Exemple

Demande

Bash
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Ou :

Bash
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <job-id> avec l'ID du Job, par exemple 123.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"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 de champ

Type

Description

job_id

INT64

L'identifiant canonique du job pour récupérer des informations. Ce champ est obligatoire.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job pour récupérer des informations. Ce champ est obligatoire.

Structure de la réponse

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique de ce Job.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a été supprimé.

settings

Paramètres de Job

Paramètres pour ce Job et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l’aide des endpoints Reset ou Update.

created_time

INT64

L’heure à laquelle ce job a été créé en millisecondes d’époque (millisecondes depuis le 01/01/1970 UTC).

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique de ce Job.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a été supprimé.

settings

Paramètres de Job

Paramètres pour ce Job et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l’aide des endpoints Reset ou Update.

created_time

INT64

L’heure à laquelle ce job a été créé en millisecondes d’époque (millisecondes depuis le 01/01/1970 UTC).

Reset

Point de terminaison

Méthode HTTP

2.0/jobs/reset

POST

Point de terminaison

Méthode HTTP

2.0/jobs/reset

POST

Écraser tous les paramètres pour un Job spécifique. Utilisez l'Endpoint Mettre à jour pour mettre à jour partiellement les paramètres du Job.

Exemple

Cette requête d'exemple rend le Job 2 identique au Job 1 dans l'exemple de création.

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

JSON
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"email_notifications": {
"on_start": [],
"on_success": [],
"on_failure": []
},
"webhook_notifications": {
"on_start": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_success": [
{
"id": "bf2fbd0a-4a05-4300-98a5-303fc8132233"
}
],
"on_failure": []
},
"notification_settings": {
"no_alert_for_skipped_runs": false,
"no_alert_for_canceled_runs": false,
"alert_on_last_attempt": false
},
"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"
}
}
}

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • Le contenu de reset-job.json avec des champs appropriés à votre solution.

Cet exemple utilise un fichier .netrc fichier et jq.

Structure de la requête

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du Job à Reset. Ce champ est obligatoire.

new_settings

Paramètres de Job

Les nouveaux paramètres du Job. 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 aux autres champs s'appliquent uniquement aux exécutions futures.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du Job à Reset. Ce champ est obligatoire.

new_settings

Paramètres de Job

Les nouveaux paramètres du Job. 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 aux autres champs s'appliquent uniquement aux exécutions futures.

Mettre à jour

Point de terminaison

Méthode HTTP

2.0/jobs/update

POST

Point de terminaison

Méthode HTTP

2.0/jobs/update

POST

Ajoutez, modifiez ou supprimez des paramètres spécifiques d'un Job existant. Utilisez l'Endpoint Reset pour remplacer tous les paramètres du Job.

Exemple

Cet exemple de requête supprime les bibliothèques et ajoute les paramètres de notification par e-mail au Job 1 défini dans l'exemple de création.

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

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

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • Le contenu de update-job.json avec des champs appropriés à votre solution.

Cet exemple utilise un fichier .netrc fichier et jq.

Structure de la requête

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du Job à mettre à jour. Ce champ est obligatoire.

new_settings

Paramètres de Job

Les nouveaux paramètres pour le Job. Les champs de niveau supérieur spécifiés dans new_settings, à l'exception des tableaux, sont entièrement remplacés. Les tableaux sont fusionnés en fonction des champs clés respectifs, tels que task_key ou job_cluster_key, et les entrées de tableau avec la même clé sont complètement remplacées. À l'exception de 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 aux autres champs s'appliquent uniquement aux exécutions futures.

fields_to_remove

Un tableau de STRING

Supprimez les champs de premier niveau dans les paramètres du Job. La suppression des champs imbriqués n'est pas prise en charge, à l'exception des entrées des tableaux tasks et job_clusters. Par exemple, l'argument suivant est valide pour ce champ : ["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Ce champ est facultatif.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du Job à mettre à jour. Ce champ est obligatoire.

new_settings

Paramètres de Job

Les nouveaux paramètres pour le Job. Les champs de niveau supérieur spécifiés dans new_settings, à l'exception des tableaux, sont entièrement remplacés. Les tableaux sont fusionnés en fonction des champs clés respectifs, tels que task_key ou job_cluster_key, et les entrées de tableau avec la même clé sont complètement remplacées. À l'exception de 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 aux autres champs s'appliquent uniquement aux exécutions futures.

fields_to_remove

Un tableau de STRING

Supprimez les champs de premier niveau dans les paramètres du Job. La suppression des champs imbriqués n'est pas prise en charge, à l'exception des entrées des tableaux tasks et job_clusters. Par exemple, l'argument suivant est valide pour ce champ : ["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Ce champ est facultatif.

Exécuter maintenant

important
  • Un Workspace est limité à 2000 exécutions de tâches simultanées. Une réponse 429 Too Many Requests est renvoyée lorsque vous demandez une exécution qui ne peut pas start immédiatement.
  • Le nombre de Jobs qu’un Workspace peut créer en une heure est limité à 10 000 (inclut les « exécutions soumises »). Cette limite affecte également le Job créé par l’API REST et les workflows de Notebook.
  • Un Workspace peut contenir jusqu'à 12 000 jobs enregistrés.
  • Un Job peut contenir jusqu’à 100 tâches.

Point de terminaison

Méthode HTTP

2.0/jobs/run-now

POST

Point de terminaison

Méthode HTTP

2.0/jobs/run-now

POST

Exécutez un Job maintenant et renvoyez le run_id de l'exécution déclenchée.

astuce

Si vous appelez Create en même temps que Run now, vous pouvez utiliser l'endpoint Runs submit à la place, ce qui vous permet de soumettre votre charge de travail directement sans avoir à créer de job.

Exemple

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Exemple de requête pour un Notebook Job :

JSON
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}

Un exemple de requête pour un Job JAR :

JSON
{
"job_id": 2,
"jar_params": ["john doe", "35"]
}

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • Le contenu de run-job.json avec des champs appropriés à votre solution.

Cet exemple utilise un fichier .netrc fichier et jq.

Structure de la requête

Nom de champ

Type

Description

job_id

INT64

jar_params

Un tableau de STRING

Une liste de paramètres pour les jobs avec des tâches JAR, par exemple. "jar_params": ["john doe", "35"]. Les paramètres seront utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche Spark JAR. S'il n'est pas spécifié lors de run-now, il sera default une liste vide. Les `jar_params` ne peuvent pas être spécifiés conjointement avec les `notebook_params`. La représentation JSON de ce champ (c'est-à-dire {"jar_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets.

notebook_params

Une carte de ParamPair

Une correspondance entre les clés et les valeurs pour les jobs avec une tâche notebook, par exemple "notebook_params": {"name": "john doe", "age": "35"}. La carte est transmise au Notebook et est accessible via la fonction dbutils.widgets.get. Si non spécifié lors de run-now, l'exécution Trigger utilise les paramètres de base du Job. Vous ne pouvez pas spécifier notebook_params conjointement avec jar_params. La représentation JSON de ce champ (c.-à-d. {"notebook_params":{"name":"john doe","age":"35"}}) ne peut pas dépasser 10 000 octets.

python_params

Un tableau de STRING

Une liste de paramètres pour les Jobs avec des tâches Python, par exemple. "python_params": ["john doe", "35"]. Les paramètres seront transmis au fichier Python en tant que paramètres de ligne de commande. Si spécifié au niveau de run-now, cela remplacerait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire {"python_params":["john doe","35"]}) ne peut excéder 10 000 octets.

spark_submit_params

Un tableau de STRING

Liste de paramètres pour les jobs avec tâche spark-submit, par exemple. "spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Les paramètres seront transmis au script spark-submit en tant que paramètres de ligne de commande. Si spécifié lors de run-now, cela écraserait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ ne peut pas dépasser 10 000 octets.

idempotency_token

STRING

Un jeton facultatif pour garantir l'idempotence des requêtes d'exécution de Job. Si une exécution avec le jeton fourni existe déjà, la requête ne crée pas de nouvelle exécution, mais renvoie plutôt l'ID de l'exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est renvoyée. Si vous spécifiez le jeton d'idempotence, en cas d'échec, vous pouvez réessayer jusqu'à ce que la requête aboutisse. Databricks garantit qu'une seule exécution est lancée avec ce jeton d'idempotence. Ce jeton doit contenir au maximum 64 caractères. Pour plus d'information, consultez Comment assurer l'idempotence des Jobs.

Nom de champ

Type

Description

job_id

INT64

jar_params

Un tableau de STRING

Une liste de paramètres pour les jobs avec des tâches JAR, par exemple. "jar_params": ["john doe", "35"]. Les paramètres seront utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche Spark JAR. S'il n'est pas spécifié lors de run-now, il sera default une liste vide. Les `jar_params` ne peuvent pas être spécifiés conjointement avec les `notebook_params`. La représentation JSON de ce champ (c'est-à-dire {"jar_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets.

notebook_params

Une carte de ParamPair

Une correspondance entre les clés et les valeurs pour les jobs avec une tâche notebook, par exemple "notebook_params": {"name": "john doe", "age": "35"}. La carte est transmise au Notebook et est accessible via la fonction dbutils.widgets.get. Si non spécifié lors de run-now, l'exécution Trigger utilise les paramètres de base du Job. Vous ne pouvez pas spécifier notebook_params conjointement avec jar_params. La représentation JSON de ce champ (c.-à-d. {"notebook_params":{"name":"john doe","age":"35"}}) ne peut pas dépasser 10 000 octets.

python_params

Un tableau de STRING

Une liste de paramètres pour les Jobs avec des tâches Python, par exemple. "python_params": ["john doe", "35"]. Les paramètres seront transmis au fichier Python en tant que paramètres de ligne de commande. Si spécifié au niveau de run-now, cela remplacerait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire {"python_params":["john doe","35"]}) ne peut excéder 10 000 octets.

spark_submit_params

Un tableau de STRING

Liste de paramètres pour les jobs avec tâche spark-submit, par exemple. "spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Les paramètres seront transmis au script spark-submit en tant que paramètres de ligne de commande. Si spécifié lors de run-now, cela écraserait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ ne peut pas dépasser 10 000 octets.

idempotency_token

STRING

Un jeton facultatif pour garantir l'idempotence des requêtes d'exécution de Job. Si une exécution avec le jeton fourni existe déjà, la requête ne crée pas de nouvelle exécution, mais renvoie plutôt l'ID de l'exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est renvoyée. Si vous spécifiez le jeton d'idempotence, en cas d'échec, vous pouvez réessayer jusqu'à ce que la requête aboutisse. Databricks garantit qu'une seule exécution est lancée avec ce jeton d'idempotence. Ce jeton doit contenir au maximum 64 caractères. Pour plus d'information, consultez Comment assurer l'idempotence des Jobs.

Structure de la réponse

Nom de champ

Type

Description

run_id

INT64

L'ID globalement unique de l'exécution nouvellement Trigger.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du job.

Nom de champ

Type

Description

run_id

INT64

L'ID globalement unique de l'exécution nouvellement Trigger.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du job.

Soumission des exécutions

important
  • Un Workspace est limité à 2000 exécutions de tâches simultanées. Une réponse 429 Too Many Requests est renvoyée lorsque vous demandez une exécution qui ne peut pas start immédiatement.
  • Le nombre de Jobs qu’un Workspace peut créer en une heure est limité à 10 000 (inclut les « exécutions soumises »). Cette limite affecte également le Job créé par l’API REST et les workflows de Notebook.
  • Un Workspace peut contenir jusqu'à 12 000 jobs enregistrés.
  • Un Job peut contenir jusqu’à 100 tâches.

Point de terminaison

Méthode HTTP

2.0/jobs/runs/submit

POST

Point de terminaison

Méthode HTTP

2.0/jobs/runs/submit

POST

Soumettre une exécution unique. Cet Endpoint vous permet de soumettre une charge de travail directement sans créer de Job. Utilisez l'API jobs/runs/get pour vérifier l'état d'exécution après la soumission du job.

Exemple

Demande

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

JSON
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"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"
}
}

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • Le contenu de submit-job.json avec des champs appropriés à votre solution.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"run_id": 123
}

Structure de la requête

important
  • Lorsque vous exécutez un Job sur un nouveau cluster de Jobs, le Job est traité comme une charge de travail de Compute de Jobs (automatisée) soumise aux Tarifs du Compute de Jobs.
  • Lorsque vous exécutez un Job sur un cluster polyvalent existant, il est traité comme une charge de travail de compute polyvalent (interactif) soumise aux Tarifs du compute polyvalent.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

run_name

STRING

Un nom facultatif pour l'exécution. La valeur par default est Untitled.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des webhook_notifications pour cette exécution.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

idempotency_token

STRING

Un jeton facultatif pour garantir l'idempotence des requêtes d'exécution de Job. Si une exécution avec le jeton fourni existe déjà, la requête ne crée pas de nouvelle exécution, mais renvoie plutôt l'ID de l'exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est renvoyée. Si vous spécifiez le jeton d'idempotence, en cas d'échec, vous pouvez réessayer jusqu'à ce que la requête aboutisse. Databricks garantit qu'une seule exécution est lancée avec ce jeton d'idempotence. Ce jeton doit contenir au maximum 64 caractères. Pour plus d'information, consultez Comment assurer l'idempotence des Jobs.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

run_name

STRING

Un nom facultatif pour l'exécution. La valeur par default est Untitled.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des webhook_notifications pour cette exécution.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

idempotency_token

STRING

Un jeton facultatif pour garantir l'idempotence des requêtes d'exécution de Job. Si une exécution avec le jeton fourni existe déjà, la requête ne crée pas de nouvelle exécution, mais renvoie plutôt l'ID de l'exécution existante. Si une exécution avec le jeton fourni est supprimée, une erreur est renvoyée. Si vous spécifiez le jeton d'idempotence, en cas d'échec, vous pouvez réessayer jusqu'à ce que la requête aboutisse. Databricks garantit qu'une seule exécution est lancée avec ce jeton d'idempotence. Ce jeton doit contenir au maximum 64 caractères. Pour plus d'information, consultez Comment assurer l'idempotence des Jobs.

Structure de la réponse

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution nouvellement soumise.

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution nouvellement soumise.

Liste des exécutions

Point de terminaison

Méthode HTTP

2.0/jobs/runs/list

GET

Point de terminaison

Méthode HTTP

2.0/jobs/runs/list

GET

Listez les exécutions par ordre décroissant en fonction de l’heure de start.

remarque

Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les consulter au-delà de 60 jours, vous devriez enregistrer les anciens résultats d'exécution avant leur expiration. Pour exporter à l'aide de l'interface utilisateur, consultez Exporter les résultats d'exécution de job. Pour exporter à l'aide de l'API Jobs, consultez l'exportation des exécutions.

Exemple

Demande

Bash
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 :

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

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <job-id> avec l'ID du Job, par exemple 123.
  • « <true-false> avec true ou false ».
  • <offset> avec la valeur offset.
  • <limit> avec la valeur limit.
  • <run-type> avec la valeur run_type.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"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 de 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, la liste inclut les exécutions actives et terminées. Une exécution active est une exécution dans les états PENDING, RUNNING ou TERMINATING de l'état du cycle de vie des exécutions. 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, sont listées les exécutions actives et terminées. Ce champ ne peut pas être true lorsque active_only est true.

job_id

INT64

Le Job pour lequel lister les exécutions. Si omis, le service Jobs affichera les exécutions de tous les jobs.

offset

INT32

Le décalage de la première exécution à retourner, par rapport à l'exécution la plus récente.

limit

INT32

Le nombre d'exécutions à renvoyer. Cette valeur doit être supérieure à 0 et inférieure à 1000. La valeur par default est 20. Si une requête spécifie une limite de 0, le service utilisera plutôt la limite maximale.

run_type

STRING

Le type d'exécutions à renvoyer. Pour une description des types d'exécution, voir Exécution.

Nom de 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, la liste inclut les exécutions actives et terminées. Une exécution active est une exécution dans les états PENDING, RUNNING ou TERMINATING de l'état du cycle de vie des exécutions. 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, sont listées les exécutions actives et terminées. Ce champ ne peut pas être true lorsque active_only est true.

job_id

INT64

Le Job pour lequel lister les exécutions. Si omis, le service Jobs affichera les exécutions de tous les jobs.

offset

INT32

Le décalage de la première exécution à retourner, par rapport à l'exécution la plus récente.

limit

INT32

Le nombre d'exécutions à renvoyer. Cette valeur doit être supérieure à 0 et inférieure à 1000. La valeur par default est 20. Si une requête spécifie une limite de 0, le service utilisera plutôt la limite maximale.

run_type

STRING

Le type d'exécutions à renvoyer. Pour une description des types d'exécution, voir Exécution.

Structure de la réponse

Nom de champ

Type

Description

runs

Un tableau d'exécution

Une liste d'exécutions, de la plus start à la moins start.

has_more

BOOL

Si cela est vrai, des exécutions supplémentaires correspondant au filtre fourni sont disponibles pour la liste.

Nom de champ

Type

Description

runs

Un tableau d'exécution

Une liste d'exécutions, de la plus start à la moins start.

has_more

BOOL

Si cela est vrai, des exécutions supplémentaires correspondant au filtre fourni sont disponibles pour la liste.

Exécutions obtiennent

Point de terminaison

Méthode HTTP

2.0/jobs/runs/get

GET

Point de terminaison

Méthode HTTP

2.0/jobs/runs/get

GET

Récupérer les métadonnées d'une exécution.

remarque

Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les consulter au-delà de 60 jours, vous devriez enregistrer les anciens résultats d'exécution avant leur expiration. Pour exporter à l'aide de l'interface utilisateur, consultez Exporter les résultats d'exécution de job. Pour exporter à l'aide de l'API Jobs, consultez l'exportation des exécutions.

Exemple

Demande

Bash
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Ou :

Bash
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <run-id> avec l'ID de l'exécution, par exemple : 123.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"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 de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution pour laquelle récupérer les métadonnées. Ce champ est obligatoire.

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution pour laquelle récupérer les métadonnées. Ce champ est obligatoire.

Structure de la réponse

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job qui contient cette exécution.

run_id

INT64

L’identifiant canonique de l’exécution. Cet ID est unique pour toutes les exécutions de tous les Jobs.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du Job. Cette valeur start à 1.

original_attempt_run_id

INT64

Si cette exécution est une nouvelle tentative d'une exécution précédente, ce champ contient le run_id de l'exécution d'origine ; sinon, il est identique au run_id.

state

RunState

Les états de résultat et de cycle de vie de l’exécution.

schedule

Planification Cron

Le calendrier cron qui a Trigger cette exécution si elle a été Trigger par le planificateur périodique.

task

JobTask

La tâche exécutée par l'exécution, le cas échéant.

cluster_spec

ClusterSpec

Un instantané de la spécification de cluster du Job lorsque cette exécution a été créée.

cluster_instance

ClusterInstance

Le cluster utilisé pour cette exécution. Si l'exécution est spécifiée pour utiliser un nouveau cluster, ce champ sera défini une fois que le service Jobs aura demandé un cluster pour l'exécution.

overriding_parameters

RunParameters

Les paramètres utilisés pour cette exécution.

start_time

INT64

L'heure à laquelle cette exécution a start en millisecondes époque (millisecondes depuis le 01/01/1970 UTC). Il ne s’agit peut-être pas du moment où la tâche du Job start son exécution. Par exemple, si le Job est planifié pour s'exécuter sur une nouvelle grappe, c’est le moment où l’appel de création de la grappe est émis.

end_time

INT64

L'heure à laquelle cette exécution s'est terminée en millisecondes d'époque (millisecondes depuis le 01/01/1970 UTC). Ce champ sera défini sur 0 si le Job est toujours en cours d'exécution.

setup_duration

INT64

Le temps en millisecondes qu'il a fallu pour configurer le cluster. Pour les exécutions qui s'exécutent sur de nouveaux clusters, il s'agit de l'heure de création du cluster. Pour les exécutions qui s'exécutent sur des clusters existants, cette durée devrait être très courte. La durée totale de l'exécution est la somme des setup_duration, execution_duration, et le cleanup_duration. Le champ setup_duration est défini sur 0 pour les exécutions de job multitâches. La durée totale d'une exécution de Job multitâche est la valeur de la run_duration champ.

execution_duration

INT64

Le temps en millisecondes nécessaire à l’exécution des commandes dans le JAR ou le Notebook jusqu’à ce qu’elles soient terminées, aient échoué, aient expiré, aient été annulées ou aient rencontré une erreur inattendue. La durée totale de l'exécution est la somme de setup_duration, de execution_duration et du cleanup_duration. Le champ execution_duration est défini sur 0 pour les exécutions de Job multitâches. La durée totale d'une exécution de job multitâche est la valeur du champ run_duration.

cleanup_duration

INT64

Le temps en millisecondes qu'il a fallu pour arrêter le cluster et nettoyer les 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 job multitâches. La durée totale d'une exécution de job multi-tâches est la valeur du champ run_duration.

run_duration

INT64

Le temps en millisecondes qu'a pris le processus d'exécution du job et toutes ses réparations pour se terminer. Ce champ est défini uniquement pour les processus d'exécution du job multitâches et non pour les exécutions de tâche. La durée d'exécution d'une tâche est la somme des setup_duration, execution_duration et cleanup_duration.

trigger

TriggerType

Le type de Trigger qui a déclenché cette exécution.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l’utilisateur a été supprimé.

run_page_url

STRING

L'URL de la page de détails de l'exécution.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job qui contient cette exécution.

run_id

INT64

L’identifiant canonique de l’exécution. Cet ID est unique pour toutes les exécutions de tous les Jobs.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du Job. Cette valeur start à 1.

original_attempt_run_id

INT64

Si cette exécution est une nouvelle tentative d'une exécution précédente, ce champ contient le run_id de l'exécution d'origine ; sinon, il est identique au run_id.

state

RunState

Les états de résultat et de cycle de vie de l’exécution.

schedule

Planification Cron

Le calendrier cron qui a Trigger cette exécution si elle a été Trigger par le planificateur périodique.

task

JobTask

La tâche exécutée par l'exécution, le cas échéant.

cluster_spec

ClusterSpec

Un instantané de la spécification de cluster du Job lorsque cette exécution a été créée.

cluster_instance

ClusterInstance

Le cluster utilisé pour cette exécution. Si l'exécution est spécifiée pour utiliser un nouveau cluster, ce champ sera défini une fois que le service Jobs aura demandé un cluster pour l'exécution.

overriding_parameters

RunParameters

Les paramètres utilisés pour cette exécution.

start_time

INT64

L'heure à laquelle cette exécution a start en millisecondes époque (millisecondes depuis le 01/01/1970 UTC). Il ne s’agit peut-être pas du moment où la tâche du Job start son exécution. Par exemple, si le Job est planifié pour s'exécuter sur une nouvelle grappe, c’est le moment où l’appel de création de la grappe est émis.

end_time

INT64

L'heure à laquelle cette exécution s'est terminée en millisecondes d'époque (millisecondes depuis le 01/01/1970 UTC). Ce champ sera défini sur 0 si le Job est toujours en cours d'exécution.

setup_duration

INT64

Le temps en millisecondes qu'il a fallu pour configurer le cluster. Pour les exécutions qui s'exécutent sur de nouveaux clusters, il s'agit de l'heure de création du cluster. Pour les exécutions qui s'exécutent sur des clusters existants, cette durée devrait être très courte. La durée totale de l'exécution est la somme des setup_duration, execution_duration, et le cleanup_duration. Le champ setup_duration est défini sur 0 pour les exécutions de job multitâches. La durée totale d'une exécution de Job multitâche est la valeur de la run_duration champ.

execution_duration

INT64

Le temps en millisecondes nécessaire à l’exécution des commandes dans le JAR ou le Notebook jusqu’à ce qu’elles soient terminées, aient échoué, aient expiré, aient été annulées ou aient rencontré une erreur inattendue. La durée totale de l'exécution est la somme de setup_duration, de execution_duration et du cleanup_duration. Le champ execution_duration est défini sur 0 pour les exécutions de Job multitâches. La durée totale d'une exécution de job multitâche est la valeur du champ run_duration.

cleanup_duration

INT64

Le temps en millisecondes qu'il a fallu pour arrêter le cluster et nettoyer les 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 job multitâches. La durée totale d'une exécution de job multi-tâches est la valeur du champ run_duration.

run_duration

INT64

Le temps en millisecondes qu'a pris le processus d'exécution du job et toutes ses réparations pour se terminer. Ce champ est défini uniquement pour les processus d'exécution du job multitâches et non pour les exécutions de tâche. La durée d'exécution d'une tâche est la somme des setup_duration, execution_duration et cleanup_duration.

trigger

TriggerType

Le type de Trigger qui a déclenché cette exécution.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l’utilisateur a été supprimé.

run_page_url

STRING

L'URL de la page de détails de l'exécution.

Exportation des exécutions

Point de terminaison

Méthode HTTP

2.0/jobs/runs/export

GET

Point de terminaison

Méthode HTTP

2.0/jobs/runs/export

GET

Exporter et récupérer la tâche d'exécution du Job.

remarque

Seules les exécutions de notebook peuvent être exportées au format HTML. L’exportation des exécutions d’autres types échouera.

Exemple

Demande

Bash
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Ou :

Bash
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <run-id> avec l'ID de l'exécution, par exemple : 123.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"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, download et exécutez le script Python suivant :

remarque

Le corps du Notebook dans l'objet __DATABRICKS_NOTEBOOK_MODEL est encodé.

Structure de la requête

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique pour l'exécution. Ce champ est obligatoire.

views_to_export

ViewsToExport

Vues à exporter (CODE, DASHBOARDS ou ALL). default to CODE.

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique pour l'exécution. Ce champ est obligatoire.

views_to_export

ViewsToExport

Vues à exporter (CODE, DASHBOARDS ou ALL). default to CODE.

Structure de la réponse

Nom de champ

Type

Description

views

Un tableau de ViewItem

Le contenu exporté au format HTML (un pour chaque élément d'affichage).

Nom de champ

Type

Description

views

Un tableau de ViewItem

Le contenu exporté au format HTML (un pour chaque élément d'affichage).

Annulation des exécutions

Point de terminaison

Méthode HTTP

2.0/jobs/runs/cancel

POST

Point de terminaison

Méthode HTTP

2.0/jobs/runs/cancel

POST

Annuler une exécution de Job. Étant donné que l'exécution est annulée de manière asynchrone, l'exécution peut encore être en cours lorsque cette demande se termine. L'exécution sera arrêtée prochainement. Si l'exécution est déjà dans un état terminal life_cycle_state, cette méthode ne fait rien.

Cet Endpoint valide que le run_id parameter est valide et, pour les parameters non valides, renvoie le code d'état HTTP 400.

Exemple

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <run-id> avec l'ID de l'exécution, par exemple : 123.

Cet exemple utilise un fichier .netrc fichier.

Structure de la requête

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution à annuler. Ce champ est obligatoire.

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique de l'exécution à annuler. Ce champ est obligatoire.

Annulation de toutes les exécutions

Point de terminaison

Méthode HTTP

2.0/jobs/runs/cancel-all

POST

Point de terminaison

Méthode HTTP

2.0/jobs/runs/cancel-all

POST

Annulez toutes les exécutions actives d'un Job. Étant donné que l'exécution est annulée de manière asynchrone, cela n'empêche pas le lancement de nouvelles start.

Cet Endpoint valide que le job_id parameter est valide et, pour les parameters non valides, renvoie le code d'état HTTP 400.

Exemple

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <job-id> avec l'ID du Job, par exemple 123.

Cet exemple utilise un fichier .netrc fichier.

Structure de la requête

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job afin d'annuler toutes les exécutions. Ce champ est obligatoire.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job afin d'annuler toutes les exécutions. Ce champ est obligatoire.

Les exécutions produisent des résultats

Point de terminaison

Méthode HTTP

2.0/jobs/runs/get-output

GET

Point de terminaison

Méthode HTTP

2.0/jobs/runs/get-output

GET

Récupérez la sortie et les métadonnées d'une seule exécution de tâche. Lorsqu'une tâche de Notebook renvoie une valeur via dbutils.notebook.exit() appel, vous pouvez utiliser cet Endpoint pour récupérer cette valeur. Databricks limite cette API à retourner les 5 premiers Mo de la sortie. Pour renvoyer un résultat plus volumineux, vous pouvez stocker les résultats des Jobs dans un service de stockage cloud.

Cet Endpoint valide que le run_id parameter est valide et, pour les parameters non valides, renvoie le code d'état HTTP 400.

Les exécutions sont automatiquement supprimées après 60 jours. Si vous souhaitez les consulter au-delà de 60 jours, vous devriez enregistrer les anciens résultats d'exécution avant leur expiration. Pour exporter à l'aide de l'interface utilisateur, consultez Exporter les résultats d'exécution de job. Pour exporter à l'aide de l'API Jobs, consultez l'exportation des exécutions.

Exemple

Demande

Bash
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Ou :

Bash
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <run-id> avec l'ID de l'exécution, par exemple : 123.

Cet exemple utilise un fichier .netrc fichier et jq.

Réponse

JSON
{
"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 de champ

Type

Description

run_id

INT64

L'identifiant canonique pour l'exécution. Pour un Job avec plusieurs tâches, il s'agit du run_id d'une exécution de tâche. Consultez Exécutions et obtention de sortie. Ce champ est obligatoire.

Nom de champ

Type

Description

run_id

INT64

L'identifiant canonique pour l'exécution. Pour un Job avec plusieurs tâches, il s'agit du run_id d'une exécution de tâche. Consultez Exécutions et obtention de sortie. Ce champ est obligatoire.

Structure de la réponse

Nom de champ

Type

Description

notebook_output OU error

NotebookOutput OU STRING

Si notebook_output, la sortie d'une tâche de notebook, si disponible. Une tâche de notebook qui se termine (soit avec succès, soit avec un échec) sans appeler dbutils.notebook.exit() est considéré comme ayant une sortie vide. Ce champ sera défini, mais sa valeur de résultat sera vide. En cas d'erreur, un message d'erreur indiquant pourquoi la sortie n'est pas disponible. Le message n'est pas structuré, et son format exact est sujet à modification.

metadata

Exécuter

Tous les détails de l'exécution, à l'exception de sa sortie.

Nom de champ

Type

Description

notebook_output OU error

NotebookOutput OU STRING

Si notebook_output, la sortie d'une tâche de notebook, si disponible. Une tâche de notebook qui se termine (soit avec succès, soit avec un échec) sans appeler dbutils.notebook.exit() est considéré comme ayant une sortie vide. Ce champ sera défini, mais sa valeur de résultat sera vide. En cas d'erreur, un message d'erreur indiquant pourquoi la sortie n'est pas disponible. Le message n'est pas structuré, et son format exact est sujet à modification.

metadata

Exécuter

Tous les détails de l'exécution, à l'exception de sa sortie.

Suppression des exécutions

Point de terminaison

Méthode HTTP

2.0/jobs/runs/delete

POST

Point de terminaison

Méthode HTTP

2.0/jobs/runs/delete

POST

Supprimez une exécution non active. Renvoie une erreur si l'exécution est active.

Exemple

Bash
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Remplacer :

  • <databricks-instance> avec le nom d'instance du workspace Databricks, par exemple dbc-a1b2345c-d6e7.cloud.databricks.com.
  • <run-id> avec l'ID de l'exécution, par exemple : 123.

Cet exemple utilise un fichier .netrc fichier.

Structure de la requête

Nom de champ

Type

Description

run_id

INT64

L’identifiant canonique de l’exécution pour laquelle récupérer les métadonnées.

Nom de champ

Type

Description

run_id

INT64

L’identifiant canonique de l’exécution pour laquelle récupérer les métadonnées.

Structures de données

Dans cette section :

Mise à l'échelle automatique

Plage définissant le nombre minimum et maximum de Workers de clusters.

Nom de champ

Type

Description

min_workers

INT32

Le nombre minimal de Workers auquel le cluster peut réduire sa taille lorsqu’il est sous-utilisé. C’est également le nombre initial de Workers que le cluster aura après sa création.

max_workers

INT32

Le nombre maximal de Worker auquel le cluster peut monter en charge en cas de surcharge. max_workers doit être strictement supérieur à min_workers.

Nom de champ

Type

Description

min_workers

INT32

Le nombre minimal de Workers auquel le cluster peut réduire sa taille lorsqu’il est sous-utilisé. C’est également le nombre initial de Workers que le cluster aura après sa création.

max_workers

INT32

Le nombre maximal de Worker auquel le cluster peut monter en charge en cas de surcharge. max_workers doit être strictement supérieur à min_workers.

Attributs AWS

Attributs définis lors de la création du cluster et liés à Amazon Web Services.

Nom de champ

Type

Description

first_on_demand

INT32

Les premiers nœuds first_on_demand du cluster seront placés sur des instances à la demande. Si cette valeur est supérieure à 0, le nœud Driver du cluster sera placé sur une instance à la demande. 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, les nœuds first_on_demand seront placés sur des instances à la demande et le reste sera placé sur des instances availability. Cette valeur n'affecte pas la taille du cluster et ne peut pas être modifiée pendant toute la durée de vie d'un cluster.

availability

AwsAvailability

Type de disponibilité utilisé pour tous les nœuds ultérieurs après les first_on_demand. Remarque : si « first_on_demand » est égal à zéro, ce type de disponibilité sera utilisé pour l’ensemble du cluster.

zone_id

STRING

Identifiant de la zone de disponibilité (AZ) dans laquelle le cluster réside. Par default, le paramètre a une valeur de auto , également connu sous le nom d'Auto-AZ. Avec Auto-AZ, Databricks sélectionne l'AZ en fonction des IPs disponibles dans les sous-réseaux du Workspace et relance dans d'autres zones de disponibilité si AWS renvoie des erreurs de capacité insuffisante. Si vous le souhaitez, vous pouvez également spécifier une zone de disponibilité à utiliser. Cela profite aux comptes qui ont des instances réservées dans une AZ spécifique. Spécifiez l'AZ en tant que chaîne de caractères (par exemple, "us-west-2a"). La zone de disponibilité fournie doit se trouver dans la même région que le déploiement Databricks. Par exemple, « us-west-2a » n'est pas un ID de zone valide si le déploiement Databricks se trouve dans la région « us-east-1 ». La liste des zones disponibles ainsi que la valeur default peut être trouvée en utilisant le GET /api/2.0/clusters/list-zones Appel.

instance_profile_arn

STRING

Les nœuds de ce cluster seront uniquement placés sur des instances AWS avec ce profil d'instance. S'il est omis, les nœuds seront placés sur des instances sans profil d'instance. Le profil d'instance doit avoir été préalablement ajouté à l'environnement Databricks par un administrateur de compte. Cette fonctionnalité peut n'être disponible que pour certains abonnements clients.

spot_bid_price_percent

INT32

Le prix maximal pour les instances ponctuelles AWS, en pourcentage du prix à la demande du type d'instance correspondant. Par exemple, si ce champ est défini sur 50 et que le cluster a besoin d'une nouvelle instance spot i3.xlarge, le prix maximal est la moitié du prix des instances à la demande i3.xlarge. De même, si ce champ est défini sur 200, le prix maximal est le double du prix des instances à la demande i3.xlarge. Si non spécifié, la valeur default est 100. Lorsque des instances spot sont demandées pour ce cluster, seules les instances spot dont le pourcentage de prix maximal correspond à ce champ seront prises en compte. Par sécurité, nous appliquons cette limite à ce champ pour qu'il ne dépasse pas 10 000.

ebs_volume_type

Type de volume EBS

Le type de volumes EBS qui seront lancés avec ce cluster.

ebs_volume_count

INT32

Le nombre de volumes lancés pour chaque instance. Vous pouvez choisir jusqu'à 10 volumes. Cette fonctionnalité est activée uniquement pour les types de nœuds pris en charge. Les types de nœuds hérités ne peuvent pas spécifier de volumes EBS personnalisés. Pour les types de nœuds sans instance store, au moins un volume EBS doit être spécifié ; sinon, la création du cluster échouera. Ces volumes EBS seront montés à /ebs0, /ebs1, etc. Les volumes de stockage d'instances seront montés à /local_disk0, /local_disk1, etc. Si des volumes EBS sont attachés, Databricks configure Spark pour qu'il utilise uniquement les volumes EBS pour le stockage temporaire, car des périphériques temporaires de tailles hétérogènes peuvent entraîner une utilisation inefficace du disque. Si aucun volume EBS n'est attaché, Databricks configurera Spark pour utiliser des volumes de stockage d'instance. Si des volumes EBS sont spécifiés, la configuration Spark spark.local.dir sera remplacée.

ebs_volume_size

INT32

La taille de chaque volume EBS (en Gio) lancé pour chaque instance. Pour les SSD à usage général, cette valeur doit être comprise entre 100 et 4 096. Pour les disques durs à throughput optimisé, cette valeur doit être comprise entre 500 et 4 096. Les volumes EBS personnalisés ne peuvent pas être spécifiés pour les types de nœuds hérités ( à mémoire optimisée et à calcul optimisé ).

ebs_volume_iops

INT32

Le nombre d'IOPS par volume EBS gp3. Cette valeur doit être comprise entre 3000 et 16000. La valeur d'IOPS et de throughput est calculée en fonction de la documentation AWS pour correspondre à la performance maximale d'un volume gp2 avec la même taille de volume. Pour plus d'informations, consultez le calculateur de limites de volume EBS.

ebs_volume_throughput

INT32

Le throughput par volume EBS gp3, en Mio par seconde. Cette valeur doit être entre 125 et 1000.

Nom de champ

Type

Description

first_on_demand

INT32

Les premiers nœuds first_on_demand du cluster seront placés sur des instances à la demande. Si cette valeur est supérieure à 0, le nœud Driver du cluster sera placé sur une instance à la demande. 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, les nœuds first_on_demand seront placés sur des instances à la demande et le reste sera placé sur des instances availability. Cette valeur n'affecte pas la taille du cluster et ne peut pas être modifiée pendant toute la durée de vie d'un cluster.

availability

AwsAvailability

Type de disponibilité utilisé pour tous les nœuds ultérieurs après les first_on_demand. Remarque : si « first_on_demand » est égal à zéro, ce type de disponibilité sera utilisé pour l’ensemble du cluster.

zone_id

STRING

Identifiant de la zone de disponibilité (AZ) dans laquelle le cluster réside. Par default, le paramètre a une valeur de auto , également connu sous le nom d'Auto-AZ. Avec Auto-AZ, Databricks sélectionne l'AZ en fonction des IPs disponibles dans les sous-réseaux du Workspace et relance dans d'autres zones de disponibilité si AWS renvoie des erreurs de capacité insuffisante. Si vous le souhaitez, vous pouvez également spécifier une zone de disponibilité à utiliser. Cela profite aux comptes qui ont des instances réservées dans une AZ spécifique. Spécifiez l'AZ en tant que chaîne de caractères (par exemple, "us-west-2a"). La zone de disponibilité fournie doit se trouver dans la même région que le déploiement Databricks. Par exemple, « us-west-2a » n'est pas un ID de zone valide si le déploiement Databricks se trouve dans la région « us-east-1 ». La liste des zones disponibles ainsi que la valeur default peut être trouvée en utilisant le GET /api/2.0/clusters/list-zones Appel.

instance_profile_arn

STRING

Les nœuds de ce cluster seront uniquement placés sur des instances AWS avec ce profil d'instance. S'il est omis, les nœuds seront placés sur des instances sans profil d'instance. Le profil d'instance doit avoir été préalablement ajouté à l'environnement Databricks par un administrateur de compte. Cette fonctionnalité peut n'être disponible que pour certains abonnements clients.

spot_bid_price_percent

INT32

Le prix maximal pour les instances ponctuelles AWS, en pourcentage du prix à la demande du type d'instance correspondant. Par exemple, si ce champ est défini sur 50 et que le cluster a besoin d'une nouvelle instance spot i3.xlarge, le prix maximal est la moitié du prix des instances à la demande i3.xlarge. De même, si ce champ est défini sur 200, le prix maximal est le double du prix des instances à la demande i3.xlarge. Si non spécifié, la valeur default est 100. Lorsque des instances spot sont demandées pour ce cluster, seules les instances spot dont le pourcentage de prix maximal correspond à ce champ seront prises en compte. Par sécurité, nous appliquons cette limite à ce champ pour qu'il ne dépasse pas 10 000.

ebs_volume_type

Type de volume EBS

Le type de volumes EBS qui seront lancés avec ce cluster.

ebs_volume_count

INT32

Le nombre de volumes lancés pour chaque instance. Vous pouvez choisir jusqu'à 10 volumes. Cette fonctionnalité est activée uniquement pour les types de nœuds pris en charge. Les types de nœuds hérités ne peuvent pas spécifier de volumes EBS personnalisés. Pour les types de nœuds sans instance store, au moins un volume EBS doit être spécifié ; sinon, la création du cluster échouera. Ces volumes EBS seront montés à /ebs0, /ebs1, etc. Les volumes de stockage d'instances seront montés à /local_disk0, /local_disk1, etc. Si des volumes EBS sont attachés, Databricks configure Spark pour qu'il utilise uniquement les volumes EBS pour le stockage temporaire, car des périphériques temporaires de tailles hétérogènes peuvent entraîner une utilisation inefficace du disque. Si aucun volume EBS n'est attaché, Databricks configurera Spark pour utiliser des volumes de stockage d'instance. Si des volumes EBS sont spécifiés, la configuration Spark spark.local.dir sera remplacée.

ebs_volume_size

INT32

La taille de chaque volume EBS (en Gio) lancé pour chaque instance. Pour les SSD à usage général, cette valeur doit être comprise entre 100 et 4 096. Pour les disques durs à throughput optimisé, cette valeur doit être comprise entre 500 et 4 096. Les volumes EBS personnalisés ne peuvent pas être spécifiés pour les types de nœuds hérités ( à mémoire optimisée et à calcul optimisé ).

ebs_volume_iops

INT32

Le nombre d'IOPS par volume EBS gp3. Cette valeur doit être comprise entre 3000 et 16000. La valeur d'IOPS et de throughput est calculée en fonction de la documentation AWS pour correspondre à la performance maximale d'un volume gp2 avec la même taille de volume. Pour plus d'informations, consultez le calculateur de limites de volume EBS.

ebs_volume_throughput

INT32

Le throughput par volume EBS gp3, en Mio par seconde. Cette valeur doit être entre 125 et 1000.

Si ni ebs_volume_iops ni ebs_volume_throughput n'est spécifié, les valeurs sont déduites de la taille du disque :

Taille du disque

IOPS

throughput

Supérieur à 1 000

3 fois la taille du disque, jusqu'à 16 000

250

Entre 170 et 1 000

3 000

250

Inférieur à 170

3 000

125

Taille du disque

IOPS

throughput

Supérieur à 1 000

3 fois la taille du disque, jusqu'à 16 000

250

Entre 170 et 1 000

3 000

250

Inférieur à 170

3 000

125

AwsAvailability

L'ensemble des types de disponibilité AWS pris en charge lors de la configuration des nœuds pour un cluster.

Type

Description

SPOT

Utilisez des instances spot.

ON_DEMAND

Utilisez des instances à la demande.

SPOT_WITH_FALLBACK

Utilisez de préférence des instances ponctuelles, mais recourez à des instances à la demande si les instances ponctuelles ne peuvent pas être acquises (par exemple, si les prix spot AWS sont trop élevés).

Type

Description

SPOT

Utilisez des instances spot.

ON_DEMAND

Utilisez des instances à la demande.

SPOT_WITH_FALLBACK

Utilisez de préférence des instances ponctuelles, mais recourez à des instances à la demande si les instances ponctuelles ne peuvent pas être acquises (par exemple, si les prix spot AWS sont trop élevés).

ClusterInstance

Identificateurs pour le cluster et le contexte Spark utilisés par une exécution. Ces deux valeurs ensemble identifient un contexte d'exécution sur toute la durée.

Nom de champ

Type

Description

cluster_id

STRING

L'identifiant 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 le cluster créé. Cette valeur peut être utilisée pour afficher les Logs en naviguant vers /#setting/sparkui/$cluster_id/driver-logs. Les Logs resteront disponibles une fois l'exécution terminée. La réponse n'inclura pas ce champ si l'identifiant n'est pas encore disponible.

spark_context_id

STRING

L'identifiant canonique du contexte Spark utilisé par une exécution. Ce champ sera renseigné une fois l'exécution du processus démarrée. Cette valeur peut être utilisée pour afficher la Spark UI 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 n'inclura pas ce champ si l'identifiant n'est pas encore disponible.

Nom de champ

Type

Description

cluster_id

STRING

L'identifiant 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 le cluster créé. Cette valeur peut être utilisée pour afficher les Logs en naviguant vers /#setting/sparkui/$cluster_id/driver-logs. Les Logs resteront disponibles une fois l'exécution terminée. La réponse n'inclura pas ce champ si l'identifiant n'est pas encore disponible.

spark_context_id

STRING

L'identifiant canonique du contexte Spark utilisé par une exécution. Ce champ sera renseigné une fois l'exécution du processus démarrée. Cette valeur peut être utilisée pour afficher la Spark UI 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 n'inclura pas ce champ si l'identifiant n'est pas encore disponible.

ClusterLogConf

Chemin d'accès au cluster log.

Nom de champ

Type

Description

dbfs OU s3

DbfsStorageInfo

S3StorageInfo

Emplacement DBFS du log de clusters. La destination doit être fournie. Par exemple, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

Emplacement S3 du log du cluster. destination et region ou warehouse doivent être fournis. Par exemple, { "s3": { "destination" : "s3://cluster_log_bucket/prefix", "region" : "us-west-2" } }

Nom de champ

Type

Description

dbfs OU s3

DbfsStorageInfo

S3StorageInfo

Emplacement DBFS du log de clusters. La destination doit être fournie. Par exemple, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

Emplacement S3 du log du cluster. destination et region ou warehouse doivent être fournis. Par exemple, { "s3": { "destination" : "s3://cluster_log_bucket/prefix", "region" : "us-west-2" } }

ClusterSpec

important
  • Lorsque vous exécutez un Job sur un nouveau cluster de Jobs, le Job est traité comme une charge de travail de Compute de Jobs (automatisée) soumise aux Tarifs du Compute de Jobs.
  • Lorsque vous exécutez un Job sur un cluster polyvalent existant, il est traité comme une charge de travail de compute polyvalent (interactif) soumise aux Tarifs du compute polyvalent.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une PipelineTask, ce champ peut être vide.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une PipelineTask, ce champ peut être vide.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

ClusterTag

Définition du Cluster Tag.

Type

Description

STRING

La clé de la balise. La longueur de la clé doit être comprise entre 1 et 127 caractères UTF-8 inclus. Pour une liste de toutes les restrictions, consultez les restrictions de balises AWS : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

STRING

La valeur du tag. La longueur de la valeur doit être inférieure ou égale à 255 caractères UTF-8. Pour une liste de toutes les restrictions, consultez les Restrictions de tags AWS : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

Type

Description

STRING

La clé de la balise. La longueur de la clé doit être comprise entre 1 et 127 caractères UTF-8 inclus. Pour une liste de toutes les restrictions, consultez les restrictions de balises AWS : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

STRING

La valeur du tag. La longueur de la valeur doit être inférieure ou égale à 255 caractères UTF-8. Pour une liste de toutes les restrictions, consultez les Restrictions de tags AWS : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions

CronSchedule

Nom de champ

Type

Description

quartz_cron_expression

STRING

Une expression Cron utilisant la syntaxe Quartz qui décrit la planification d'un job. Consultez le Cron Trigger pour plus de détails. Ce champ est obligatoire.

timezone_id

STRING

Un identifiant de fuseau horaire Java. Le planning d'un job sera résolu par rapport à ce fuseau horaire. Consultez Fuseau horaire Java pour plus de détails. Ce champ est obligatoire.

pause_status

STRING

Indiquer si ce planning est suspendu ou non. Soit « PAUSED », soit « UNPAUSED ».

Nom de champ

Type

Description

quartz_cron_expression

STRING

Une expression Cron utilisant la syntaxe Quartz qui décrit la planification d'un job. Consultez le Cron Trigger pour plus de détails. Ce champ est obligatoire.

timezone_id

STRING

Un identifiant de fuseau horaire Java. Le planning d'un job sera résolu par rapport à ce fuseau horaire. Consultez Fuseau horaire Java pour plus de détails. Ce champ est obligatoire.

pause_status

STRING

Indiquer si ce planning est suspendu ou non. Soit « PAUSED », soit « UNPAUSED ».

DbfsStorageInfo

Informations sur le stockage DBFS.

Nom de champ

Type

Description

destination

STRING

Destination DBFS. Exemple : dbfs:/my/path

Nom de champ

Type

Description

destination

STRING

Destination DBFS. Exemple : dbfs:/my/path

EbsVolumeType

Databricks prend en charge les types de volume EBS gp2 et gp3. Suivez les instructions de la page Gérer le stockage SSD pour sélectionner gp2 ou gp3 pour votre Workspace.

Type

Description

GENERAL_PURPOSE_SSD

Provisionnez du stockage supplémentaire à l'aide de volumes AWS EBS.

THROUGHPUT_OPTIMIZED_HDD

Provisionnez un stockage supplémentaire à l'aide de volumes AWS st1.

Type

Description

GENERAL_PURPOSE_SSD

Provisionnez du stockage supplémentaire à l'aide de volumes AWS EBS.

THROUGHPUT_OPTIMIZED_HDD

Provisionnez un stockage supplémentaire à l'aide de volumes AWS st1.

FileStorageInfo

Informations sur le stockage de fichiers.

remarque

Ce type d'emplacement est disponible uniquement pour les clusters configurés à l'aide de Databricks Container Services.

Nom de champ

Type

Description

destination

STRING

Destination du fichier. Exemple : file:/my/file.sh

Nom de champ

Type

Description

destination

STRING

Destination du fichier. Exemple : file:/my/file.sh

InitScriptInfo

Chemin d'accès à un script d'initialisation.

Pour obtenir des instructions sur l'utilisation des scripts d'initialisation avec Databricks Container Services, consultez Utiliser un script d'initialisation.

remarque

Le type de stockage de fichier (nom du champ : file) est uniquement disponible pour les clusters configurés à l'aide de Databricks Container Services. Voir FileStorageInfo.

Nom de champ

Type

Description

workspace OU dbfs (obsolète)

OU S3

WorkspaceStorageInfo

DbfsStorageInfo (obsolète)

S3StorageInfo

Emplacement du workspace du script d'initialisation. La destination doit être fournie. Par exemple, { "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Obsolète) Emplacement DBFS du script d'initialisation. La destination doit être fournie. Par exemple, { "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Emplacement S3 du script d'initialisation. La destination et la région ou le warehouse doivent être fournis. Par exemple, { "s3": { "destination" : "s3://init_script_bucket/prefix", "region" : "us-west-2" } }

Nom de champ

Type

Description

workspace OU dbfs (obsolète)

OU S3

WorkspaceStorageInfo

DbfsStorageInfo (obsolète)

S3StorageInfo

Emplacement du workspace du script d'initialisation. La destination doit être fournie. Par exemple, { "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Obsolète) Emplacement DBFS du script d'initialisation. La destination doit être fournie. Par exemple, { "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Emplacement S3 du script d'initialisation. La destination et la région ou le warehouse doivent être fournis. Par exemple, { "s3": { "destination" : "s3://init_script_bucket/prefix", "region" : "us-west-2" } }

Job

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique de ce Job.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a déjà été supprimé.

run_as

STRING

Le nom d'utilisateur sous lequel le Job s'exécutera. run_as est basé sur les paramètres Job actuels, et est défini sur le créateur du Job si le contrôle d'accès au Job est désactivé, ou sur l'autorisation is_owner si le contrôle d'accès au Job est activé.

settings

Paramètres de Job

Paramètres pour ce Job et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l'aide de la méthode resetJob.

created_time

INT64

L’heure à laquelle ce job a été créé en millisecondes d’époque (millisecondes depuis le 01/01/1970 UTC).

Nom de champ

Type

Description

job_id

INT64

L’identifiant canonique de ce Job.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a déjà été supprimé.

run_as

STRING

Le nom d'utilisateur sous lequel le Job s'exécutera. run_as est basé sur les paramètres Job actuels, et est défini sur le créateur du Job si le contrôle d'accès au Job est désactivé, ou sur l'autorisation is_owner si le contrôle d'accès au Job est activé.

settings

Paramètres de Job

Paramètres pour ce Job et toutes ses exécutions. Ces paramètres peuvent être mis à jour à l'aide de la méthode resetJob.

created_time

INT64

L’heure à laquelle ce job a été créé en millisecondes d’époque (millisecondes depuis le 01/01/1970 UTC).

Notifications par e-mail de Job

important

Les champs on_start, on_success et on_failure n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

Nom de champ

Type

Description

on_start

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution commence. Si elle n'est pas spécifiée lors de la création d'un Job, du Reset ou de la mise à jour, la liste est vide, et les notifications ne sont pas envoyées.

on_success

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du Job, la liste est vide et aucune notification n'est envoyée.

on_failure

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution se termine sans succès. Une exécution est considérée comme ayant échoué si elle se termine par un… INTERNAL_ERROR life_cycle_state ou un état de résultat SKIPPED, FAILED ou TIMED_OUT. Si cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, la liste est vide et aucune notification n’est envoyée.

on_duration_warning_threshold_exceeded

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsque la durée d'une exécution dépasse le threshold 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 pour le Job, les notifications ne sont pas envoyées.

no_alert_for_skipped_runs

BOOL

Si la valeur est vraie, n'envoyez pas d'e-mail aux destinataires spécifiés dans on_failure si l'exécution est ignorée.

Nom de champ

Type

Description

on_start

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution commence. Si elle n'est pas spécifiée lors de la création d'un Job, du Reset ou de la mise à jour, la liste est vide, et les notifications ne sont pas envoyées.

on_success

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du Job, la liste est vide et aucune notification n'est envoyée.

on_failure

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsqu'une exécution se termine sans succès. Une exécution est considérée comme ayant échoué si elle se termine par un… INTERNAL_ERROR life_cycle_state ou un état de résultat SKIPPED, FAILED ou TIMED_OUT. Si cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, la liste est vide et aucune notification n’est envoyée.

on_duration_warning_threshold_exceeded

Un tableau de STRING

Une liste d'adresses e-mail à notifier lorsque la durée d'une exécution dépasse le threshold 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 pour le Job, les notifications ne sont pas envoyées.

no_alert_for_skipped_runs

BOOL

Si la valeur est vraie, n'envoyez pas d'e-mail aux destinataires spécifiés dans on_failure si l'exécution est ignorée.

Nom de champ

Type

Description

on_start

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution commence. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative des destinations système à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour d'un Job, la liste est vide et aucune notification n'est envoyée. Un maximum de 3 destinations peut être spécifié pour la propriété on_success.

on_failure

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution se termine sans succès. Une exécution est considérée comme ayant échoué si elle se termine par un… INTERNAL_ERROR life_cycle_state ou un état de résultat SKIPPED, FAILED ou TIMED_OUT. Si cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peuvent être spécifiées pour la propriété on_failure.

on_duration_warning_threshold_exceeded

Un tableau de Webhook

Liste facultative de destinations système à notifier lorsque la durée d'une exécution dépasse le threshold spécifié pour la mesure 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.

Nom de champ

Type

Description

on_start

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution commence. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative des destinations système à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour d'un Job, la liste est vide et aucune notification n'est envoyée. Un maximum de 3 destinations peut être spécifié pour la propriété on_success.

on_failure

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution se termine sans succès. Une exécution est considérée comme ayant échoué si elle se termine par un… INTERNAL_ERROR life_cycle_state ou un état de résultat SKIPPED, FAILED ou TIMED_OUT. Si cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, la liste est vide et les notifications ne sont pas envoyées. Un maximum de 3 destinations peuvent être spécifiées pour la propriété on_failure.

on_duration_warning_threshold_exceeded

Un tableau de Webhook

Liste facultative de destinations système à notifier lorsque la durée d'une exécution dépasse le threshold spécifié pour la mesure 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 de champ

Type

Description

no_alert_for_skipped_runs

BOOL

Si la valeur est vraie, 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 vrai, 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 vraie, n'envoyez pas de notifications aux destinataires spécifiés dans on_start pour les exécutions relancées et n'envoyez pas de notifications aux destinataires spécifiés dans on_failure avant la dernière relance de l'exécution.

Nom de champ

Type

Description

no_alert_for_skipped_runs

BOOL

Si la valeur est vraie, 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 vrai, 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 vraie, n'envoyez pas de notifications aux destinataires spécifiés dans on_start pour les exécutions relancées et n'envoyez pas de notifications aux destinataires spécifiés dans on_failure avant la dernière relance de l'exécution.

Paramètres de tâche

important
  • Lorsque vous exécutez un Job sur un nouveau cluster de Jobs, le Job est traité comme une charge de travail de Compute de Jobs (automatisée) soumise aux Tarifs du Compute de Jobs.
  • Lorsque vous exécutez un Job sur un cluster polyvalent existant, il est traité comme une charge de travail de compute polyvalent (interactif) soumise aux Tarifs du compute polyvalent.

Paramètres pour un Job. Ces paramètres peuvent être mis à jour à l'aide de la méthode resetJob.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

name

STRING

Un nom facultatif pour le Job. La valeur par default est Untitled.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

email_notifications

JobEmailNotifications

Un ensemble facultatif d'adresses e-mail qui seront averties lorsque les exécutions de ce Job commencent ou se terminent, ainsi que lorsque ce Job est supprimé. Le comportement par default n'est pas d'envoyer d'e-mails.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des email_notifications et webhook_notifications pour ce Job.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

max_retries

INT32

Un nombre maximum facultatif de fois pour relancer une exécution ayant échoué. Une exécution est considérée comme échouée si elle se termine avec l'état de résultat FAILED ou INTERNAL_ERROR life_cycle_stateLa valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par default est de ne jamais réessayer.

min_retry_interval_millis

INT32

Un intervalle minimal facultatif en millisecondes entre les tentatives. Le comportement par default est que les exécutions infructueuses sont immédiatement relancées.

retry_on_timeout

BOOL

Une règle facultative pour spécifier s'il faut relancer un Job en cas de dépassement du délai d'attente. Le comportement par default est de ne pas réessayer en cas de délai d'expiration.

schedule

Planification Cron

Un planning périodique facultatif pour ce job. Le comportement default est que le job ne s'exécute que lorsqu'il est Trigger par un clic sur « Exécuter maintenant » dans l'interface utilisateur des Jobs ou par l'envoi d'une requête API à runNow.

max_concurrent_runs

INT32

Un nombre maximal facultatif d'exécutions simultanées du job. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même Job simultanément. Ceci est utile par exemple si vous Trigger votre Job sur un calendrier fréquent et que vous souhaitez permettre aux exécutions consécutives de se chevaucher, ou si vous voulez Trigger plusieurs exécutions qui diffèrent par leurs parameters d'entrée. Ce paramètre n’affecte que les nouvelles exécutions. Par exemple, supposons que la concurrence du Job soit de 4 et qu'il y ait 4 exécutions actives simultanées. Alors, définir la concurrence à 3 ne mettra fin à aucune des exécutions actives. Cependant, à partir de ce moment-là, les nouvelles exécutions seront ignorées à moins qu'il n'y ait moins de 3 exécutions actives. Cette valeur ne peut pas dépasser 1 000. Régler cette valeur à 0 entraîne le saut de toutes les nouvelles exécutions. Le comportement par default est d'autoriser une seule exécution simultanée.

health

Règles de santé des tâches

Un ensemble facultatif de règles d'intégrité définies pour le job.

Nom de champ

Type

Description

existing_cluster_id OU new_cluster

STRING OU Nouveau Cluster

Si existing_cluster_id, l'ID d'un cluster existant qui sera utilisé pour toutes les exécutions de ce Job. Lorsque vous exécutez des Jobs 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 Jobs sur de nouveaux clusters pour une plus grande fiabilité. Si new_cluster, une description d'un cluster qui sera créé pour chaque exécution. Si vous spécifiez une 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

name

STRING

Un nom facultatif pour le Job. La valeur par default est Untitled.

libraries

Un tableau d'objets

Liste facultative de bibliothèques à installer sur le cluster qui exécutera le Job. La valeur default est une liste vide.

email_notifications

JobEmailNotifications

Un ensemble facultatif d'adresses e-mail qui seront averties lorsque les exécutions de ce Job commencent ou se terminent, ainsi que lorsque ce Job est supprimé. Le comportement par default n'est pas d'envoyer d'e-mails.

webhook_notifications

Notifications Webhook

Un ensemble facultatif de destinations système à notifier lorsque les exécutions de ce job commencent, se terminent ou échouent.

notification_settings

JobNotificationSettings

Paramètres de notification facultatifs qui sont utilisés lors de l'envoi de notifications à chacun des email_notifications et webhook_notifications pour ce Job.

timeout_seconds

INT32

Un délai d'expiration facultatif appliqué à chaque exécution de ce Job. Le comportement par default est de ne pas avoir de délai d'expiration.

max_retries

INT32

Un nombre maximum facultatif de fois pour relancer une exécution ayant échoué. Une exécution est considérée comme échouée si elle se termine avec l'état de résultat FAILED ou INTERNAL_ERROR life_cycle_stateLa valeur -1 signifie de réessayer indéfiniment et la valeur 0 signifie de ne jamais réessayer. Le comportement par default est de ne jamais réessayer.

min_retry_interval_millis

INT32

Un intervalle minimal facultatif en millisecondes entre les tentatives. Le comportement par default est que les exécutions infructueuses sont immédiatement relancées.

retry_on_timeout

BOOL

Une règle facultative pour spécifier s'il faut relancer un Job en cas de dépassement du délai d'attente. Le comportement par default est de ne pas réessayer en cas de délai d'expiration.

schedule

Planification Cron

Un planning périodique facultatif pour ce job. Le comportement default est que le job ne s'exécute que lorsqu'il est Trigger par un clic sur « Exécuter maintenant » dans l'interface utilisateur des Jobs ou par l'envoi d'une requête API à runNow.

max_concurrent_runs

INT32

Un nombre maximal facultatif d'exécutions simultanées du job. Définissez cette valeur si vous souhaitez pouvoir exécuter plusieurs exécutions du même Job simultanément. Ceci est utile par exemple si vous Trigger votre Job sur un calendrier fréquent et que vous souhaitez permettre aux exécutions consécutives de se chevaucher, ou si vous voulez Trigger plusieurs exécutions qui diffèrent par leurs parameters d'entrée. Ce paramètre n’affecte que les nouvelles exécutions. Par exemple, supposons que la concurrence du Job soit de 4 et qu'il y ait 4 exécutions actives simultanées. Alors, définir la concurrence à 3 ne mettra fin à aucune des exécutions actives. Cependant, à partir de ce moment-là, les nouvelles exécutions seront ignorées à moins qu'il n'y ait moins de 3 exécutions actives. Cette valeur ne peut pas dépasser 1 000. Régler cette valeur à 0 entraîne le saut de toutes les nouvelles exécutions. Le comportement par default est d'autoriser une seule exécution simultanée.

health

Règles de santé des tâches

Un ensemble facultatif de règles d'intégrité définies pour le job.

JobTask

Nom de 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

Nom de 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 Job doit exécuter un notebook. Ce champ ne peut pas être spécifié conjointement avec spark_jar_task. Si spark_jar_task, cela indique que ce job doit exécuter un JAR. Si spark_python_task est spécifié, cela indique que ce job doit exécuter un fichier Python. Si spark_submit_task, indique que ce Job doit être lancé par le script spark submit. Si pipeline_task, cela indique que ce job doit exécuter un pipeline. Si `run_job_task`, cela indique que ce Job doit exécuter un autre Job.

JobsHealthRule

Nom de champ

Type

Description

metric

STRING

Spécifie la métrique de santé qui est évaluée pour une règle de santé 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 de santé avec le threshold spécifié. Les valeurs valides sont GREATER_THAN.

value

INT32

Spécifie la valeur de threshold que la métrique de santé doit respecter pour être conforme à la règle de santé.

Nom de champ

Type

Description

metric

STRING

Spécifie la métrique de santé qui est évaluée pour une règle de santé 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 de santé avec le threshold spécifié. Les valeurs valides sont GREATER_THAN.

value

INT32

Spécifie la valeur de threshold que la métrique de santé doit respecter pour être conforme à la règle de santé.

JobsHealthRules

Nom de champ

Type

Description

rules

Un tableau de JobsHealthRule

Un ensemble facultatif de règles d'intégrité qui peuvent être définies pour un Job.

Nom de champ

Type

Description

rules

Un tableau de JobsHealthRule

Un ensemble facultatif de règles d'intégrité qui peuvent être définies pour un Job.

Bibliothèque

Nom de 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

S'il s'agit d'un JAR, URI du JAR à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "jar": "dbfs:/mnt/databricks/library.jar" } ou { "jar": "s3://my-bucket/library.jar" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. Si œuf, URI de l'œuf à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "egg": "dbfs:/my/egg" } ou { "egg": "s3://my-bucket/egg" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. Si whl, URI du wheel ou wheels compressé à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "whl": "dbfs:/my/whl" } ou { "whl": "s3://my-bucket/whl" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. De plus, le nom du fichier wheel doit utiliser la convention correcte. Si des wheels compressé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 et s'il n'est pas spécifié, l'index pip default est utilisé. Par exemple : { "package": "simplejson", "repo": "https://my-repo.com" } S'il s'agit de 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.

Nom de 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

S'il s'agit d'un JAR, URI du JAR à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "jar": "dbfs:/mnt/databricks/library.jar" } ou { "jar": "s3://my-bucket/library.jar" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. Si œuf, URI de l'œuf à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "egg": "dbfs:/my/egg" } ou { "egg": "s3://my-bucket/egg" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. Si whl, URI du wheel ou wheels compressé à installer. Les URI DBFS et S3 sont pris en charge. Par exemple : { "whl": "dbfs:/my/whl" } ou { "whl": "s3://my-bucket/whl" }. Si S3 est utilisé, assurez-vous que le cluster dispose d'un accès en lecture à la bibliothèque. Vous devrez peut-être lancer le cluster avec un profil d'instance pour accéder à l'URI S3. De plus, le nom du fichier wheel doit utiliser la convention correcte. Si des wheels compressé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 et s'il n'est pas spécifié, l'index pip default est utilisé. Par exemple : { "package": "simplejson", "repo": "https://my-repo.com" } S'il s'agit de 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 de champ

Type

Description

coordinates

STRING

Coordonnées Maven de style 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. S'il n'est pas précisé, une recherche sera effectuée dans le référentiel Maven Central et dans les packages Spark.

exclusions

Un tableau de STRING

Liste des dépendances à exclure. Par exemple : ["slf4j:slf4j", "*:hadoop-client"]. Exclusions de dépendances Maven : https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

Nom de champ

Type

Description

coordinates

STRING

Coordonnées Maven de style 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. S'il n'est pas précisé, une recherche sera effectuée dans le référentiel Maven Central et dans les packages Spark.

exclusions

Un tableau de STRING

Liste des dépendances à exclure. Par exemple : ["slf4j:slf4j", "*:hadoop-client"]. Exclusions de dépendances Maven : https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Nom de champ

Type

Description

num_workers OU autoscale

INT32 OU AutoScale

Si num_workers, nombre de nœuds Worker que ce cluster devrait avoir. Un cluster dispose d'un driver Spark et de num_workers exécuteurs pour un total de num_workers + 1 nœuds Spark. 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 actuel de workers. Par exemple, si un clusters est redimensionné de 5 à 10 Worker, ce champ sera immédiatement mis à jour pour refléter la taille cible de 10 Worker, tandis que les Worker listés dans spark_info augmenteront progressivement de 5 à 10 à mesure que les nouveaux nœuds sont en provisionnement. Si la mise à l'échelle automatique est activée, les paramètres requis pour monter et descendre en charge automatiquement les clusters en fonction de la charge.

spark_version

STRING

La version de Spark du cluster. Une liste des versions de Spark disponibles peut être récupérée en utilisant l'appel GET 2.0/clusters/spark-versions. Ce champ est obligatoire.

spark_conf

SparkConfPair

Un objet contenant un ensemble de paires clé-valeur de configuration Spark optionnelles et spécifiées par l'utilisateur. Vous pouvez également transmettre une chaîne d'options JVM supplémentaires au Driver et aux exécuteurs via spark.driver.extraJavaOptions et spark.executor.extraJavaOptions respectivement. Exemples de confs Spark : {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} OU {"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}

aws_attributes

AwsAttributes

Attributs liés aux clusters fonctionnant sur Amazon Web Services. Si non spécifié lors de la création du cluster, un ensemble de valeurs par default sera utilisé.

node_type_id

STRING

Ce champ encode, par le biais d'une seule valeur, les Ressources disponibles pour chacun des nœuds Spark de ce cluster. Par exemple, les nœuds Spark peuvent être provisionnés et optimisés pour des charges de travail intenses en mémoire ou en compute. Une liste des types de nœuds disponibles peut être récupérée en utilisant l'appel GET 2,0/clusters/list-node-types. Ce champ, le champ instance_pool_id, ou une politique de cluster qui spécifie un ID de type de nœud ou un ID de pool d'instances, est requis.

driver_node_type_id

STRING

Le type de nœud du driver Spark. Ce champ est facultatif ; s'il n'est pas défini, le type de nœud du driver sera défini avec la même valeur que node_type_id définie ci-dessus.

ssh_public_keys

Un tableau de STRING

Contenu de la clé publique SSH qui sera ajouté à chaque nœud Spark dans ce cluster. Les clés privées correspondantes peuvent être utilisées pour se connecter avec le nom d'utilisateur ubuntu sur le port 2200. Jusqu'à 10 clés peuvent être spécifiées.

custom_tags

ClusterTag

Un objet contenant un ensemble de tags pour les ressources de cluster. Databricks attribue tous les tags de ressources de cluster (tels que les instances AWS et les volumes EBS) avec ces tags en plus des default_tags. Note : - Les balises ne sont pas prises en charge sur les types de nœuds hérités, tels que les types à calcul optimisé et à mémoire optimisée. - Databricks autorise au maximum 45 tags personnalisés

cluster_log_conf

ClusterLogConf

La configuration pour la livraison des Logs Spark vers une destination de stockage à long terme. Une seule destination peut être spécifiée pour un cluster. Si la conf est donnée, les Logs seront livrés à la destination tous les 5 mins. La destination des Logs du Driver est <destination>/<cluster-id>/driver, tandis que la destination des Logs de l'exécuteur est <destination>/<cluster-id>/executor.

init_scripts

Un tableau d'InitScriptInfo

La 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 fourni. Si cluster_log_conf est spécifié, les logs du script d'initialisation sont envoyés à <destination>/<cluster-id>/init_scripts.

spark_env_vars

SparkEnvPair

Un objet contenant un ensemble facultatif, spécifié par l'utilisateur, de paires clé-valeur de variables d'environnement. Les paires clé-valeur de la forme (X,Y) sont exportées telles quelles (c’est-à-dire, export X='Y') lors du lancement du Driver 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 garantit que toutes les variables d'environnement gérées par Databricks par default sont également incluses. Exemple 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

Dimensionnement automatique du stockage local : lorsqu'il est activé, ce cluster acquiert dynamiquement un espace disque supplémentaire lorsque ses Workers Spark manquent d'espace disque. Cette fonctionnalité nécessite des autorisations AWS spécifiques pour fonctionner correctement. Veuillez consulter Activer le dimensionnement automatique du stockage local pour plus de détails.

driver_instance_pool_id

STRING

L'ID facultatif du pool d'instances à utiliser pour le nœud driver. Vous devez également spécifier instance_pool_id. Reportez-vous à l'API de pools d'instances pour plus de détails.

instance_pool_id

STRING

L'ID facultatif du pool d'instances à utiliser pour les nœuds de clusters. Si driver_instance_pool_id est présent, instance_pool_id est utilisé uniquement pour les nœuds worker. Sinon, il est utilisé pour le nœud du driver et les nœuds worker. Reportez-vous à l'API de pools d'instances pour plus de détails.

Nom de champ

Type

Description

num_workers OU autoscale

INT32 OU AutoScale

Si num_workers, nombre de nœuds Worker que ce cluster devrait avoir. Un cluster dispose d'un driver Spark et de num_workers exécuteurs pour un total de num_workers + 1 nœuds Spark. 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 actuel de workers. Par exemple, si un clusters est redimensionné de 5 à 10 Worker, ce champ sera immédiatement mis à jour pour refléter la taille cible de 10 Worker, tandis que les Worker listés dans spark_info augmenteront progressivement de 5 à 10 à mesure que les nouveaux nœuds sont en provisionnement. Si la mise à l'échelle automatique est activée, les paramètres requis pour monter et descendre en charge automatiquement les clusters en fonction de la charge.

spark_version

STRING

La version de Spark du cluster. Une liste des versions de Spark disponibles peut être récupérée en utilisant l'appel GET 2.0/clusters/spark-versions. Ce champ est obligatoire.

spark_conf

SparkConfPair

Un objet contenant un ensemble de paires clé-valeur de configuration Spark optionnelles et spécifiées par l'utilisateur. Vous pouvez également transmettre une chaîne d'options JVM supplémentaires au Driver et aux exécuteurs via spark.driver.extraJavaOptions et spark.executor.extraJavaOptions respectivement. Exemples de confs Spark : {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} OU {"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}

aws_attributes

AwsAttributes

Attributs liés aux clusters fonctionnant sur Amazon Web Services. Si non spécifié lors de la création du cluster, un ensemble de valeurs par default sera utilisé.

node_type_id

STRING

Ce champ encode, par le biais d'une seule valeur, les Ressources disponibles pour chacun des nœuds Spark de ce cluster. Par exemple, les nœuds Spark peuvent être provisionnés et optimisés pour des charges de travail intenses en mémoire ou en compute. Une liste des types de nœuds disponibles peut être récupérée en utilisant l'appel GET 2,0/clusters/list-node-types. Ce champ, le champ instance_pool_id, ou une politique de cluster qui spécifie un ID de type de nœud ou un ID de pool d'instances, est requis.

driver_node_type_id

STRING

Le type de nœud du driver Spark. Ce champ est facultatif ; s'il n'est pas défini, le type de nœud du driver sera défini avec la même valeur que node_type_id définie ci-dessus.

ssh_public_keys

Un tableau de STRING

Contenu de la clé publique SSH qui sera ajouté à chaque nœud Spark dans ce cluster. Les clés privées correspondantes peuvent être utilisées pour se connecter avec le nom d'utilisateur ubuntu sur le port 2200. Jusqu'à 10 clés peuvent être spécifiées.

custom_tags

ClusterTag

Un objet contenant un ensemble de tags pour les ressources de cluster. Databricks attribue tous les tags de ressources de cluster (tels que les instances AWS et les volumes EBS) avec ces tags en plus des default_tags. Note : - Les balises ne sont pas prises en charge sur les types de nœuds hérités, tels que les types à calcul optimisé et à mémoire optimisée. - Databricks autorise au maximum 45 tags personnalisés

cluster_log_conf

ClusterLogConf

La configuration pour la livraison des Logs Spark vers une destination de stockage à long terme. Une seule destination peut être spécifiée pour un cluster. Si la conf est donnée, les Logs seront livrés à la destination tous les 5 mins. La destination des Logs du Driver est <destination>/<cluster-id>/driver, tandis que la destination des Logs de l'exécuteur est <destination>/<cluster-id>/executor.

init_scripts

Un tableau d'InitScriptInfo

La 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 fourni. Si cluster_log_conf est spécifié, les logs du script d'initialisation sont envoyés à <destination>/<cluster-id>/init_scripts.

spark_env_vars

SparkEnvPair

Un objet contenant un ensemble facultatif, spécifié par l'utilisateur, de paires clé-valeur de variables d'environnement. Les paires clé-valeur de la forme (X,Y) sont exportées telles quelles (c’est-à-dire, export X='Y') lors du lancement du Driver 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 garantit que toutes les variables d'environnement gérées par Databricks par default sont également incluses. Exemple 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

Dimensionnement automatique du stockage local : lorsqu'il est activé, ce cluster acquiert dynamiquement un espace disque supplémentaire lorsque ses Workers Spark manquent d'espace disque. Cette fonctionnalité nécessite des autorisations AWS spécifiques pour fonctionner correctement. Veuillez consulter Activer le dimensionnement automatique du stockage local pour plus de détails.

driver_instance_pool_id

STRING

L'ID facultatif du pool d'instances à utiliser pour le nœud driver. Vous devez également spécifier instance_pool_id. Reportez-vous à l'API de pools d'instances pour plus de détails.

instance_pool_id

STRING

L'ID facultatif du pool d'instances à utiliser pour les nœuds de clusters. Si driver_instance_pool_id est présent, instance_pool_id est utilisé uniquement pour les nœuds worker. Sinon, il est utilisé pour le nœud du driver et les nœuds worker. Reportez-vous à l'API de pools d'instances pour plus de détails.

NotebookOutput

Nom de champ

Type

Description

result

STRING

La valeur transmise à dbutils.notebook.exit(). Databricks limite cette API à renvoyer le premier 1 Mo de la valeur. Pour un résultat plus important, votre Job peut stocker les résultats dans un service de stockage cloud. Ce champ sera absent si dbutils.notebook.exit() n'a jamais été appelé.

truncated

BOOLEAN

Si le résultat a été tronqué ou non.

Nom de champ

Type

Description

result

STRING

La valeur transmise à dbutils.notebook.exit(). Databricks limite cette API à renvoyer le premier 1 Mo de la valeur. Pour un résultat plus important, votre Job peut stocker les résultats dans un service de stockage cloud. Ce champ sera absent si dbutils.notebook.exit() n'a jamais été appelé.

truncated

BOOLEAN

Si le résultat a été tronqué ou non.

Tâche de bloc-notes

Toutes les cellules de sortie sont soumises à la taille de 8 Mo. Si le résultat d'une cellule a une taille plus grande, le reste de l'exécution sera annulé et l'exécution sera marquée comme échouée. Dans ce cas, une partie du contenu généré par d'autres cellules pourrait également être manquante.

Si vous avez besoin d'aide pour trouver la cellule qui dépasse la limite, exécutez le notebook sur un cluster à usage général et utilisez cette technique de sauvegarde automatique de notebook.

Nom de champ

Type

Description

notebook_path

STRING

Le chemin absolu du Notebook à exécuter dans le Workspace Databricks. Ce chemin doit commencer par une barre oblique. Ce champ est obligatoire.

revision_timestamp

LONG

Le timestamp de la révision du Notebook.

base_parameters

Une carte de ParamPair

parameter de base à utiliser pour chaque exécution de ce Job. Si l’exécution est lancée par un appel à run-now avec des parameters spécifiés, les deux cartes de parameters seront fusionnées. Si la même clé est spécifiée dans base_parameters et dans run-now, la valeur de run-now sera utilisée. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Si le notebook prend un parameter qui n'est pas spécifié dans le base_parameters du Job ou les parameters de remplacement run-now, la valeur default du notebook sera utilisée. Récupérez ces parameters dans un Notebook à l'aide de dbutils.widgets.get.

Nom de champ

Type

Description

notebook_path

STRING

Le chemin absolu du Notebook à exécuter dans le Workspace Databricks. Ce chemin doit commencer par une barre oblique. Ce champ est obligatoire.

revision_timestamp

LONG

Le timestamp de la révision du Notebook.

base_parameters

Une carte de ParamPair

parameter de base à utiliser pour chaque exécution de ce Job. Si l’exécution est lancée par un appel à run-now avec des parameters spécifiés, les deux cartes de parameters seront fusionnées. Si la même clé est spécifiée dans base_parameters et dans run-now, la valeur de run-now sera utilisée. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Si le notebook prend un parameter qui n'est pas spécifié dans le base_parameters du Job ou les parameters de remplacement run-now, la valeur default du notebook sera utilisée. Récupérez ces parameters dans un Notebook à l'aide de dbutils.widgets.get.

parameterPair

Paramètres basés sur le nom pour les Job exécutant des tâches de Notebook.

important

Les champs de cette structure de données n’acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

Type

Description

STRING

Nom du paramètre. Transmettez à dbutils.widgets.get pour récupérer la valeur.

STRING

Valeur du paramètre.

Type

Description

STRING

Nom du paramètre. Transmettez à dbutils.widgets.get pour récupérer la valeur.

STRING

Valeur du paramètre.

PipelineTask

Nom de champ

Type

Description

pipeline_id

STRING

Le nom complet de la tâche de pipeline à exécuter.

Nom de champ

Type

Description

pipeline_id

STRING

Le nom complet de la tâche de pipeline à exécuter.

PythonPyPiLibrary

Nom de champ

Type

Description

package

STRING

Le 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

Référentiel où se trouve le package. S'il n'est pas spécifié, l'index pip par défaut est utilisé.

Nom de champ

Type

Description

package

STRING

Le 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

Référentiel où se trouve le package. S'il n'est pas spécifié, l'index pip par défaut est utilisé.

RCranLibrary

Nom de champ

Type

Description

package

STRING

Le nom du package CRAN à installer. Ce champ est obligatoire.

repo

STRING

Référentiel où se trouve le package. S'il n'est pas spécifié, le référentiel CRAN par défaut est utilisé.

Nom de champ

Type

Description

package

STRING

Le nom du package CRAN à installer. Ce champ est obligatoire.

repo

STRING

Référentiel 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 sur une exécution, à l'exception de sa sortie. Le résultat peut être récupéré séparément avec la méthode getRunOutput.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job qui contient cette exécution.

run_id

INT64

L’identifiant canonique de l’exécution. Cet ID est unique pour toutes les exécutions de tous les Jobs.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a déjà été supprimé.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du Job. Cette valeur start à 1.

original_attempt_run_id

INT64

Si cette exécution est une nouvelle tentative d'une exécution précédente, ce champ contient le run_id de l'exécution d'origine ; sinon, il est identique au run_id.

state

RunState

Les états de résultat et de cycle de vie de l’exécution.

schedule

Planification Cron

Le calendrier cron qui a Trigger cette exécution si elle a été Trigger par le planificateur périodique.

task

JobTask

La tâche exécutée par l'exécution, le cas échéant.

cluster_spec

ClusterSpec

Un instantané de la spécification de cluster du Job lorsque cette exécution a été créée.

cluster_instance

ClusterInstance

Le cluster utilisé pour cette exécution. Si l'exécution est spécifiée pour utiliser un nouveau cluster, ce champ sera défini une fois que le service Jobs aura demandé un cluster pour l'exécution.

overriding_parameters

RunParameters

Les paramètres utilisés pour cette exécution.

start_time

INT64

L'heure à laquelle cette exécution a start en millisecondes époque (millisecondes depuis le 01/01/1970 UTC). Il ne s’agit peut-être pas du moment où la tâche du Job start son exécution. Par exemple, si le Job est planifié pour s'exécuter sur une nouvelle grappe, c’est le moment où l’appel de création de la grappe est émis.

setup_duration

INT64

Le temps qu'il a fallu pour configurer le cluster, en millisecondes. Pour les exécutions qui s'effectuent sur de nouveaux clusters, il s'agit du temps de création du cluster ; pour les exécutions qui s'effectuent sur des clusters existants, ce temps devrait être très court.

execution_duration

INT64

Le temps en millisecondes qu'il a fallu pour exécuter les commandes dans le JAR ou le Notebook jusqu'à ce qu'elles soient terminées, aient échoué, aient expiré, aient été annulées ou aient rencontré une erreur inattendue.

cleanup_duration

INT64

Le temps en millisecondes qu'il a fallu pour arrêter le cluster et nettoyer les 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

L'heure à laquelle cette exécution s'est terminée en millisecondes d'époque (millisecondes depuis le 01/01/1970 UTC). Ce champ sera défini sur 0 si le Job est toujours en cours d'exécution.

trigger

TriggerType

Le type de Trigger qui a déclenché cette exécution.

run_name

STRING

Un nom facultatif pour l'exécution. La valeur par default est Untitled. La longueur maximale autorisée est de 4096 octets en encodage UTF-8.

run_page_url

STRING

L'URL de la page de détails de l'exécution.

run_type

STRING

Le type d'exécution. - JOB_RUN – exécution de Job normale. Une exécution créée avec Exécuter maintenant. - WORKFLOW_RUN - Exécution de workflow. Une exécution créée avec dbutils.notebook.run. - SUBMIT_RUN - Soumettre l'exécution. Une exécution créée avec Soumettre des exécutions.

attempt_number

INT32

Le numéro de séquence de cette tentative d'exécution pour une exécution de Job Trigger. La tentative initiale d'une exécution a un numéro de tentative de 0. Si la tentative d'exécution initiale échoue, et que le Job a une politique de relance (max_retries > 0), les exécutions ultérieures sont créées avec un original_attempt_run_id de l'ID de la tentative originale et un attempt_number incrémenté. Les exécutions sont relancées uniquement jusqu'à ce qu'elles réussissent, et le attempt_number maximum est identique à la valeur max_retries pour le Job.

Nom de champ

Type

Description

job_id

INT64

L'identifiant canonique du job qui contient cette exécution.

run_id

INT64

L’identifiant canonique de l’exécution. Cet ID est unique pour toutes les exécutions de tous les Jobs.

creator_user_name

STRING

Le nom d'utilisateur du créateur. Ce champ ne sera pas inclus dans la réponse si l'utilisateur a déjà été supprimé.

number_in_job

INT64

Le numéro de séquence de cette exécution parmi toutes les exécutions du Job. Cette valeur start à 1.

original_attempt_run_id

INT64

Si cette exécution est une nouvelle tentative d'une exécution précédente, ce champ contient le run_id de l'exécution d'origine ; sinon, il est identique au run_id.

state

RunState

Les états de résultat et de cycle de vie de l’exécution.

schedule

Planification Cron

Le calendrier cron qui a Trigger cette exécution si elle a été Trigger par le planificateur périodique.

task

JobTask

La tâche exécutée par l'exécution, le cas échéant.

cluster_spec

ClusterSpec

Un instantané de la spécification de cluster du Job lorsque cette exécution a été créée.

cluster_instance

ClusterInstance

Le cluster utilisé pour cette exécution. Si l'exécution est spécifiée pour utiliser un nouveau cluster, ce champ sera défini une fois que le service Jobs aura demandé un cluster pour l'exécution.

overriding_parameters

RunParameters

Les paramètres utilisés pour cette exécution.

start_time

INT64

L'heure à laquelle cette exécution a start en millisecondes époque (millisecondes depuis le 01/01/1970 UTC). Il ne s’agit peut-être pas du moment où la tâche du Job start son exécution. Par exemple, si le Job est planifié pour s'exécuter sur une nouvelle grappe, c’est le moment où l’appel de création de la grappe est émis.

setup_duration

INT64

Le temps qu'il a fallu pour configurer le cluster, en millisecondes. Pour les exécutions qui s'effectuent sur de nouveaux clusters, il s'agit du temps de création du cluster ; pour les exécutions qui s'effectuent sur des clusters existants, ce temps devrait être très court.

execution_duration

INT64

Le temps en millisecondes qu'il a fallu pour exécuter les commandes dans le JAR ou le Notebook jusqu'à ce qu'elles soient terminées, aient échoué, aient expiré, aient été annulées ou aient rencontré une erreur inattendue.

cleanup_duration

INT64

Le temps en millisecondes qu'il a fallu pour arrêter le cluster et nettoyer les 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

L'heure à laquelle cette exécution s'est terminée en millisecondes d'époque (millisecondes depuis le 01/01/1970 UTC). Ce champ sera défini sur 0 si le Job est toujours en cours d'exécution.

trigger

TriggerType

Le type de Trigger qui a déclenché cette exécution.

run_name

STRING

Un nom facultatif pour l'exécution. La valeur par default est Untitled. La longueur maximale autorisée est de 4096 octets en encodage UTF-8.

run_page_url

STRING

L'URL de la page de détails de l'exécution.

run_type

STRING

Le type d'exécution. - JOB_RUN – exécution de Job normale. Une exécution créée avec Exécuter maintenant. - WORKFLOW_RUN - Exécution de workflow. Une exécution créée avec dbutils.notebook.run. - SUBMIT_RUN - Soumettre l'exécution. Une exécution créée avec Soumettre des exécutions.

attempt_number

INT32

Le numéro de séquence de cette tentative d'exécution pour une exécution de Job Trigger. La tentative initiale d'une exécution a un numéro de tentative de 0. Si la tentative d'exécution initiale échoue, et que le Job a une politique de relance (max_retries > 0), les exécutions ultérieures sont créées avec un original_attempt_run_id de l'ID de la tentative originale et un attempt_number incrémenté. Les exécutions sont relancées uniquement jusqu'à ce qu'elles réussissent, et le attempt_number maximum est identique à la valeur max_retries pour le Job.

RunJobTask

Nom de champ

Type

Description

job_id

INT32

Identifiant unique du Job à exécuter. Ce champ est obligatoire.

Nom de champ

Type

Description

job_id

INT32

Identifiant unique du Job à exécuter. Ce champ est obligatoire.

RunLifeCycleState

L'é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

État

Description

QUEUED

L'exécution a été Trigger mais est mise en file d'attente, car elle a atteint l'une des limites suivantes : - Le nombre maximal d'exécutions actives concurrentes dans le workspace. - Le nombre maximal d'exécutions de tâches Run Job simultanées dans le workspace. - Le nombre maximal d’exécutions simultanées du Job. Le Job ou l'exécution doit avoir la mise en file d'attente activée avant d'atteindre cet état.

PENDING

L'exécution a été Trigger. Si le nombre maximal d'exécutions simultanées configuré pour le Job est déjà atteint, l'exécution passera immédiatement à l'état SKIPPED sans préparer aucune Ressources. Sinon, 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 nettoyés.

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é interrompue car une exécution précédente du même Job était déjà active. Cet état est terminal.

INTERNAL_ERROR

Un état exceptionnel qui indique un échec dans le service Jobs, tel qu'une défaillance réseau sur une longue période. Si une exécution sur un nouveau cluster se termine à l'état INTERNAL_ERROR, le service Jobs arrête le cluster dès que possible. Cet état est définitif.

État

Description

QUEUED

L'exécution a été Trigger mais est mise en file d'attente, car elle a atteint l'une des limites suivantes : - Le nombre maximal d'exécutions actives concurrentes dans le workspace. - Le nombre maximal d'exécutions de tâches Run Job simultanées dans le workspace. - Le nombre maximal d’exécutions simultanées du Job. Le Job ou l'exécution doit avoir la mise en file d'attente activée avant d'atteindre cet état.

PENDING

L'exécution a été Trigger. Si le nombre maximal d'exécutions simultanées configuré pour le Job est déjà atteint, l'exécution passera immédiatement à l'état SKIPPED sans préparer aucune Ressources. Sinon, 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 nettoyés.

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é interrompue car une exécution précédente du même Job était déjà active. Cet état est terminal.

INTERNAL_ERROR

Un état exceptionnel qui indique un échec dans le service Jobs, tel qu'une défaillance réseau sur une longue période. Si une exécution sur un nouveau cluster se termine à l'état INTERNAL_ERROR, le service Jobs arrête le cluster dès que possible. Cet état est définitif.

Paramètres d’exécution

Paramètres pour cette exécution. Seul l'un des jar_params, python_params ou notebook_params doit être spécifié dans la requête run-now, selon le type de tâche du Job. Les Jobs avec des tâches Spark JAR ou Python prennent une liste de paramètres positionnels, et les Jobs avec des tâches de Notebook prennent une carte clé-valeur.

Nom de champ

Type

Description

jar_params

Un tableau de STRING

Une liste de paramètres pour les jobs avec des tâches Spark JAR, par exemple "jar_params": ["john doe", "35"]. Les paramètres seront utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche Spark JAR. S'il n'est pas spécifié lors de run-now, il sera default une liste vide. Les `jar_params` ne peuvent pas être spécifiés conjointement avec les `notebook_params`. La représentation JSON de ce champ (c'est-à-dire {"jar_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

notebook_params

Une carte de ParamPair

Une correspondance entre les clés et les valeurs pour les jobs avec une tâche notebook, par exemple "notebook_params": {"name": "john doe", "age": "35"}. La carte est transmise au Notebook et est accessible via la fonction dbutils.widgets.get. Si non spécifié lors de run-now, l'exécution Trigger utilise les paramètres de base du Job. Les notebook_params ne peuvent pas être spécifiés en conjonction avec les jar_params. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. La représentation JSON de ce champ (c.-à-d. {"notebook_params":{"name":"john doe","age":"35"}}) ne peut pas dépasser 10 000 octets.

python_params

Un tableau de STRING

Une liste de paramètres pour les Jobs avec des tâches Python, par exemple. "python_params": ["john doe", "35"]. Les paramètres sont transmis au fichier Python en tant que paramètres de ligne de commande. Si spécifié au niveau de run-now, cela remplacerait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire {"python_params":["john doe","35"]}) ne peut excéder 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Ces paramètres n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

spark_submit_params

Un tableau de STRING

Liste de paramètres pour les jobs avec tâche spark-submit, 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. Si spécifié lors de run-now, cela écraserait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire : {"python_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Ces paramètres n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

Nom de champ

Type

Description

jar_params

Un tableau de STRING

Une liste de paramètres pour les jobs avec des tâches Spark JAR, par exemple "jar_params": ["john doe", "35"]. Les paramètres seront utilisés pour appeler la fonction principale de la classe principale spécifiée dans la tâche Spark JAR. S'il n'est pas spécifié lors de run-now, il sera default une liste vide. Les `jar_params` ne peuvent pas être spécifiés conjointement avec les `notebook_params`. La représentation JSON de ce champ (c'est-à-dire {"jar_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

notebook_params

Une carte de ParamPair

Une correspondance entre les clés et les valeurs pour les jobs avec une tâche notebook, par exemple "notebook_params": {"name": "john doe", "age": "35"}. La carte est transmise au Notebook et est accessible via la fonction dbutils.widgets.get. Si non spécifié lors de run-now, l'exécution Trigger utilise les paramètres de base du Job. Les notebook_params ne peuvent pas être spécifiés en conjonction avec les jar_params. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. La représentation JSON de ce champ (c.-à-d. {"notebook_params":{"name":"john doe","age":"35"}}) ne peut pas dépasser 10 000 octets.

python_params

Un tableau de STRING

Une liste de paramètres pour les Jobs avec des tâches Python, par exemple. "python_params": ["john doe", "35"]. Les paramètres sont transmis au fichier Python en tant que paramètres de ligne de commande. Si spécifié au niveau de run-now, cela remplacerait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire {"python_params":["john doe","35"]}) ne peut excéder 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Ces paramètres n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

spark_submit_params

Un tableau de STRING

Liste de paramètres pour les jobs avec tâche spark-submit, 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. Si spécifié lors de run-now, cela écraserait les paramètres spécifiés dans les paramètres du Job. La représentation JSON de ce champ (c'est-à-dire : {"python_params":["john doe","35"]}) ne peut pas dépasser 10 000 octets. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs. Ces paramètres n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

RunResultState

L'état du résultat de l'exécution.

  • Si life_cycle_state = TERMINATED: si l'exécution avait une tâche, le résultat est garanti d'être disponible et il 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: le résultat est disponible si l'exécution avait une tâche et a réussi à la start.

Une fois disponible, l'état de résultat ne change jamais.

État

Description

SUCCESS

La tâche s'est terminée avec succès.

FAILED

La tâche s'est terminée par 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.

État

Description

SUCCESS

La tâche s'est terminée avec succès.

FAILED

La tâche s'est terminée par 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.

État d'exécution

Nom de champ

Type

Description

life_cycle_state

État du cycle de vie de l'exécution

Une 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

L'état du résultat d'une exécution. S'il n'est pas disponible, la réponse n'inclura pas ce champ. Consultez RunResultState pour plus de détails sur la disponibilité de result_state.

user_cancelled_or_timedout

BOOLEAN

Si une exécution a été annulée manuellement par un utilisateur ou par le planificateur parce que l'exécution a expiré.

state_message

STRING

Un message descriptif pour l'état actuel. Ce champ est non structuré et son format exact est susceptible de changer.

Nom de champ

Type

Description

life_cycle_state

État du cycle de vie de l'exécution

Une 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

L'état du résultat d'une exécution. S'il n'est pas disponible, la réponse n'inclura pas ce champ. Consultez RunResultState pour plus de détails sur la disponibilité de result_state.

user_cancelled_or_timedout

BOOLEAN

Si une exécution a été annulée manuellement par un utilisateur ou par le planificateur parce que l'exécution a expiré.

state_message

STRING

Un message descriptif pour l'état actuel. Ce champ est non structuré et son format exact est susceptible de changer.

S3StorageInfo

Informations de stockage S3.

Nom de champ

Type

Description

destination

STRING

Destination S3. Par exemple : s3://my-bucket/some-prefix Vous devez configurer le cluster avec un profil d'instance, et le profil d'instance doit disposer d'un accès en écriture à la destination. Vous ne pouvez pas utiliser de clés AWS.

region

STRING

Région S3. Par exemple : us-west-2. La région ou le warehouse doit être défini. Si les deux sont définis, le warehouse est utilisé.

warehouse

STRING

Warehouse S3. Par exemple : https://s3-us-west-2.amazonaws.com. La région ou le warehouse doit être défini. Si les deux sont définis, le warehouse est utilisé.

enable_encryption

BOOL

(Facultatif) Activer le chiffrement côté serveur, false default.

encryption_type

STRING

(Facultatif) Le type de chiffrement, il peut s’agir de sse-s3 ou de sse-kms. Il est utilisé uniquement lorsque le chiffrement est activé et que le type par default est sse-s3.

kms_key

STRING

(Facultatif) Clé KMS utilisée si le chiffrement est activé et si le type de chiffrement est défini sur sse-kms.

canned_acl

STRING

(Facultatif) Définir une liste de contrôle d'accès prédéfinie. Par exemple : bucket-owner-full-control. Si canned_acl est défini, le profil d'instance du cluster doit disposer de l'autorisation s3:PutObjectAcl sur le compartiment de destination et le préfixe. La liste complète des ACL prédéfinies possibles peut être consultée à l'adresse https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Par default, seul le propriétaire de l'objet obtient un contrôle total. Si vous utilisez un rôle inter-comptes pour écrire des données, vous pouvez souhaiter définir bucket-owner-full-control pour que le propriétaire du compartiment puisse lire les logs.

Nom de champ

Type

Description

destination

STRING

Destination S3. Par exemple : s3://my-bucket/some-prefix Vous devez configurer le cluster avec un profil d'instance, et le profil d'instance doit disposer d'un accès en écriture à la destination. Vous ne pouvez pas utiliser de clés AWS.

region

STRING

Région S3. Par exemple : us-west-2. La région ou le warehouse doit être défini. Si les deux sont définis, le warehouse est utilisé.

warehouse

STRING

Warehouse S3. Par exemple : https://s3-us-west-2.amazonaws.com. La région ou le warehouse doit être défini. Si les deux sont définis, le warehouse est utilisé.

enable_encryption

BOOL

(Facultatif) Activer le chiffrement côté serveur, false default.

encryption_type

STRING

(Facultatif) Le type de chiffrement, il peut s’agir de sse-s3 ou de sse-kms. Il est utilisé uniquement lorsque le chiffrement est activé et que le type par default est sse-s3.

kms_key

STRING

(Facultatif) Clé KMS utilisée si le chiffrement est activé et si le type de chiffrement est défini sur sse-kms.

canned_acl

STRING

(Facultatif) Définir une liste de contrôle d'accès prédéfinie. Par exemple : bucket-owner-full-control. Si canned_acl est défini, le profil d'instance du cluster doit disposer de l'autorisation s3:PutObjectAcl sur le compartiment de destination et le préfixe. La liste complète des ACL prédéfinies possibles peut être consultée à l'adresse https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Par default, seul le propriétaire de l'objet obtient un contrôle total. Si vous utilisez un rôle inter-comptes pour écrire des données, vous pouvez souhaiter définir bucket-owner-full-control pour que le propriétaire du compartiment puisse lire les logs.

SparkConfPair

Paires clé-valeur de configuration Spark.

Type

Description

STRING

Un nom de propriété de configuration.

STRING

La valeur de la propriété de configuration.

Type

Description

STRING

Un nom de propriété de configuration.

STRING

La valeur de la propriété de configuration.

SparkEnvPair

Paires clé-valeur de la variable d'environnement Spark.

important

Lors de la spécification de variables d'environnement dans un cluster de Jobs, les champs de cette structure de données n'acceptent que les caractères latins (jeu de caractères ASCII). L'utilisation de caractères non-ASCII renverra une erreur. Des exemples de caractères non valides et non ASCII sont les caractères chinois, les kanjis japonais et les émojis.

Type

Description

STRING

Un nom de variable d'environnement.

STRING

La valeur de la variable d’environnement.

Type

Description

STRING

Un nom de variable d'environnement.

STRING

La valeur de la variable d’environnement.

SparkJarTask

Nom de champ

Type

Description

jar_uri

STRING

Obsolète depuis 04/2016. Fournissez un jar via le champ libraries plutôt. Pour un exemple, voir 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 job échoueront.

parameters

Un tableau de STRING

Paramètres transmis à la méthode principale. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

Nom de champ

Type

Description

jar_uri

STRING

Obsolète depuis 04/2016. Fournissez un jar via le champ libraries plutôt. Pour un exemple, voir 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 job échoueront.

parameters

Un tableau de STRING

Paramètres transmis à la méthode principale. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

SparkPythonTask

Nom de champ

Type

Description

python_file

STRING

L'URI du fichier Python à exécuter. Les chemins DBFS et S3 sont pris en charge. Ce champ est obligatoire.

parameters

Un tableau de STRING

Paramètres de ligne de commande transmis au fichier Python. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

Nom de champ

Type

Description

python_file

STRING

L'URI du fichier Python à exécuter. Les chemins DBFS et S3 sont pris en charge. Ce champ est obligatoire.

parameters

Un tableau de STRING

Paramètres de ligne de commande transmis au fichier Python. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

SparkSubmitTask

important
  • Vous pouvez appeler des tâches Spark submit uniquement sur de nouveaux clusters.
  • Dans la spécification new_cluster, libraries et spark_conf ne sont pas pris en charge. Utilisez plutôt --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 automatiquement configurés par Databricks ; vous ne *pouvez pas* les spécifier dans les parameters.
  • Par default, le Job Spark submit utilise toute la mémoire disponible (à l'exclusion de la mémoire réservée aux services Databricks). Vous pouvez définir --driver-memory et --executor-memory à une valeur plus petite pour laisser de la place pour l'utilisation hors-tas.
  • Les arguments --jars, --py-files, --files prennent en charge les chemins DBFS et S3.

Par exemple, en supposant que le JAR est upload sur DBFS, vous pouvez exécuter SparkPi en définissant les paramètres suivants.

JSON
{
"parameters": ["--class", "org.apache.spark.examples.SparkPi", "dbfs:/path/to/examples.jar", "10"]
}

Nom de champ

Type

Description

parameters

Un tableau de STRING

Paramètres de ligne de commande transmis à spark submit. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

Nom de champ

Type

Description

parameters

Un tableau de STRING

Paramètres de ligne de commande transmis à spark submit. Utiliser les références de valeur dynamique pour définir les paramètres contenant des informations sur les exécutions de Jobs.

Type de déclencheur

Ce sont les types de Triggers qui peuvent déclencher une exécution.

Type

Description

PERIODIC

Planifications qui déclenchent périodiquement des exécutions, telles qu'un planificateur cron.

ONE_TIME

Trigger uniques qui déclenchent une seule exécution. Cela se produit lorsque vous avez Trigger une exécution unique à la demande via l'interface utilisateur ou l'API.

RETRY

Indique une exécution qui est Trigger comme une nouvelle tentative d’une exécution précédente ayant échoué. Ceci survient lorsque vous demandez de relancer le Job en cas d'échec.

Type

Description

PERIODIC

Planifications qui déclenchent périodiquement des exécutions, telles qu'un planificateur cron.

ONE_TIME

Trigger uniques qui déclenchent une seule exécution. Cela se produit lorsque vous avez Trigger une exécution unique à la demande via l'interface utilisateur ou l'API.

RETRY

Indique une exécution qui est Trigger comme une nouvelle tentative d’une exécution précédente ayant échoué. Ceci survient lorsque vous demandez de relancer le Job en cas d'échec.

Afficher l'élément

Le contenu exporté est au format HTML. Par exemple, si la vue à exporter est des tableaux de bord, une chaîne HTML est renvoyée pour chaque tableau de bord.

Nom de champ

Type

Description

content

STRING

Contenu de la vue.

name

STRING

Nom de l'élément de vue. Dans le cas d'une vue de code, le nom du Notebook. Dans le cas d'une vue de tableau de bord, le nom du tableau de bord.

type

ViewType

Type de l'élément d'affichage.

Nom de champ

Type

Description

content

STRING

Contenu de la vue.

name

STRING

Nom de l'élément de vue. Dans le cas d'une vue de code, le nom du Notebook. Dans le cas d'une vue de tableau de bord, le nom du tableau de bord.

type

ViewType

Type de l'élément d'affichage.

Type de vue

Type

Description

NOTEBOOK

Élément de vue du notebook.

DASHBOARD

Élément de vue du tableau de bord.

Type

Description

NOTEBOOK

Élément de vue du notebook.

DASHBOARD

Élément de vue du tableau de bord.

ViewsToExport

Vue à exporter : soit le code, tous les tableaux de bord, ou tout.

Type

Description

CODE

Vue du code du Notebook.

DASHBOARDS

Tous les affichages du tableau de bord du notebook.

ALL

Toutes les vues du notebook.

Type

Description

CODE

Vue du code du Notebook.

DASHBOARDS

Tous les affichages du tableau de bord du notebook.

ALL

Toutes les vues du notebook.

Webhook

Nom de champ

Type

Description

id

STRING

Identifiant faisant référence à une destination de notification système. Ce champ est obligatoire.

Nom de champ

Type

Description

id

STRING

Identifiant faisant référence à une destination de notification système. Ce champ est obligatoire.

WebhookNotifications

Nom de champ

Type

Description

on_start

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution commence. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative des destinations système à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour d'un Job, la liste est vide et aucune notification n'est envoyée. Un maximum de 3 destinations peut être spécifié pour la propriété on_success.

on_failure

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution se termine sans succès. 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 cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative de destinations système à notifier lorsque la durée d'une exécution dépasse le threshold spécifié pour la mesure 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.

Nom de champ

Type

Description

on_start

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution commence. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative des destinations système à notifier lorsqu'une exécution se termine avec succès. Une exécution est considérée comme terminée avec succès si elle se termine par un TERMINATED life_cycle_state et un SUCCESSFUL result_state. S'il n'est pas spécifié lors de la création, du Reset ou de la mise à jour d'un Job, la liste est vide et aucune notification n'est envoyée. Un maximum de 3 destinations peut être spécifié pour la propriété on_success.

on_failure

Un tableau de Webhook

Une liste facultative de destinations système à notifier lorsqu'une exécution se termine sans succès. 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 cela n'est pas spécifié lors de la création, du reset ou de la mise à jour du job, 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

Un tableau de Webhook

Liste facultative de destinations système à notifier lorsque la durée d'une exécution dépasse le threshold spécifié pour la mesure 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

Information sur le stockage du Workspace.

Nom de champ

Type

Description

destination

STRING

Destination du fichier. Exemple : /Users/someone@domain.com/init_script.sh

Nom de champ

Type

Description

destination

STRING

Destination du fichier. Exemple : /Users/someone@domain.com/init_script.sh

Sur cette page