Aller au contenu principal

Ajouter des tâches aux Jobs dans les Declarative Automation Bundles

Cette page fournit des informations sur la façon de définir les tâches de Job dans les Declarative Automation Bundles. Pour plus d'informations sur les tâches de Job, consultez Configurer et modifier les tâches dans les Lakeflow Jobs.

important

Le champ git_source du job et le champ source de la tâche définis sur GIT ne sont pas recommandés pour les bundles, car les chemins relatifs locaux peuvent ne pas pointer vers le même contenu dans le repository Git. Les Bundles s'attendent à ce qu'un job déployé ait les mêmes fichiers que la copie locale à partir de laquelle il a été déployé.

Au lieu de cela, clonez le repository localement et configurez votre projet de bundle dans ce repository, de sorte que la source des tâches soit le workspace.

Configurez les tâches

Définissez des tâches pour un Job dans un bundle dans la clé tasks pour la définition du Job. Des exemples de configuration de tâche pour les types de tâches disponibles se trouvent dans la section Paramètres de tâche. Pour plus d'informations sur la définition d'un Job dans un bundle, consultez le Job.

astuce

Pour générer rapidement la configuration des ressources pour un Job existant à l'aide de la CLI Databricks, vous pouvez utiliser la commande bundle generate job. Consultez les commandes de bundle.

Pour définir les valeurs des tâches, la plupart des types de tâches de job ont des paramètres spécifiques aux tâches, mais vous pouvez également définir des paramètres de job qui sont transmis aux tâches. Les références de valeur dynamiques sont prises en charge pour les paramètres de job, ce qui permet de transmettre entre les tâches des valeurs propres à l'exécution du job. Pour des informations complètes sur la façon de transmettre des valeurs de tâche par type de tâche, consultez Détails par type de tâche.

Vous pouvez également remplacer les paramètres généraux des tâches de Job par les paramètres d'un Workspace cible. Voir Remplacer avec les paramètres cibles.

L'exemple de configuration suivant définit un job avec deux tâches Notebook, et transmet une valeur de tâche de la première tâche à la deuxième tâche.

YAML
resources:
jobs:
pass_task_values_job:
name: pass_task_values_job
tasks:
# Output task
- task_key: output_value
notebook_task:
notebook_path: ../src/output_notebook.ipynb

# Input task
- task_key: input_value
depends_on:
- task_key: output_value
notebook_task:
notebook_path: ../src/input_notebook.ipynb
base_parameters:
received_message: '{{tasks.output_value.values.message}}'

Le output_notebook.ipynb contient le code suivant, qui définit une valeur de tâche pour la clé message :

Python
# Databricks notebook source
# This first task sets a simple output value.

message = "Hello from the first task"

# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)

print(f"Produced message: {message}")

Le input_notebook.ipynb récupère la valeur du paramètre received_message, qui a été définie dans la configuration pour la tâche :

Python
# This notebook receives the message as a parameter.

dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")

print(f"Received message: {received_message}")

Paramètres de la tâche

Cette section contient les paramètres et des exemples pour chaque type de tâche Job.

Tâche d’alerte (v2).

La tâche d'alerte (v2) évalue une alerte Databricks et envoie des notifications aux abonnés lorsque le champ alert_task est présent. Pour plus d'information sur les tâches d'alerte, consultez Tâche d'alerte SQL pour les jobs.

Les clés suivantes sont disponibles pour une tâche d'alerte (v2). Pour la définition de l'objet d'API REST correspondant, voir alert_task.

Ajouté à la version 0,296.0 de Databricks CLI

Clé

Type

Description

alert_id

Chaîne

L'ID de l'alerte à évaluer. Seul l'un des éléments alert_id ou workspace_path peut être spécifié pour identifier l'alerte.

subscribers

Séquence

Une liste d'abonnés pour recevoir les notifications de résultats d'évaluation d'alerte une fois la tâche d'alerte terminée. Le nombre d'abonnements est limité à 100. Chaque abonné est un objet comportant l'un des éléments suivants : destination_id (Chaîne de caractères) pour une destination de notification, ou user_name (Chaîne de caractères) pour une adresse e-mail d'utilisateur du Workspace.

warehouse_id

Chaîne

Les paramètres du warehouse utilisés par la tâche d'alerte.

workspace_path

Chaîne

Le chemin d'accès au fichier d'alerte dans le Workspace. Le chemin doit start avec "/Workspace" et doit être un chemin normalisé. Seul l'un de alert_id ou workspace_path peut être spécifié pour identifier l'alerte.

Clé

Type

Description

alert_id

Chaîne

L'ID de l'alerte à évaluer. Seul l'un des éléments alert_id ou workspace_path peut être spécifié pour identifier l'alerte.

subscribers

Séquence

Une liste d'abonnés pour recevoir les notifications de résultats d'évaluation d'alerte une fois la tâche d'alerte terminée. Le nombre d'abonnements est limité à 100. Chaque abonné est un objet comportant l'un des éléments suivants : destination_id (Chaîne de caractères) pour une destination de notification, ou user_name (Chaîne de caractères) pour une adresse e-mail d'utilisateur du Workspace.

warehouse_id

Chaîne

Les paramètres du warehouse utilisés par la tâche d'alerte.

workspace_path

Chaîne

Le chemin d'accès au fichier d'alerte dans le Workspace. Le chemin doit start avec "/Workspace" et doit être un chemin normalisé. Seul l'un de alert_id ou workspace_path peut être spécifié pour identifier l'alerte.

Exemples

L'exemple suivant ajoute une tâche d'alerte à un job :

YAML
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: alert_task
alert_task:
workspace_path: ./my_alert.dbalert.json
warehouse_id: 1a111111a1111aa1

Tâche de notebook de salle blanche

La tâche du notebook de salle blanche exécute un notebook de salle blanche lorsque le champ clean_rooms_notebook_task est présent. Pour obtenir des informations sur les clean rooms, consultez Qu'est-ce que Databricks Clean Rooms ?.

Les clés suivantes sont disponibles pour une tâche de notebook de salle blanche. Pour la définition d’objet de l’API REST correspondante, consultez tâche de notebook de salle blanche.

Ajouté dans la version 0.237.0 de Databricks CLI.

Clé

Type

Description

clean_room_name

Chaîne

Obligatoire. La salle blanche à laquelle le Notebook appartient.

etag

Chaîne

Somme de contrôle pour valider l'actualisation de la ressource Notebook. Elle peut être récupérée en appelant l'opération de récupération des assets de salle blanche.

object

Carte

Parameters de base à utiliser pour le Job de Notebook de la salle blanche.

notebook_name

Chaîne

Obligatoire. Nom du notebook en cours d'exécution.

Clé

Type

Description

clean_room_name

Chaîne

Obligatoire. La salle blanche à laquelle le Notebook appartient.

etag

Chaîne

Somme de contrôle pour valider l'actualisation de la ressource Notebook. Elle peut être récupérée en appelant l'opération de récupération des assets de salle blanche.

object

Carte

Parameters de base à utiliser pour le Job de Notebook de la salle blanche.

notebook_name

Chaîne

Obligatoire. Nom du notebook en cours d'exécution.

Tâche Condition

Le condition_task vous permet d'ajouter une tâche avec une logique conditionnelle if/else à votre Job. La tâche évalue une condition qui peut être utilisée pour contrôler l'exécution d'autres tâches. La tâche de condition ne nécessite pas de cluster pour s'exécuter et ne prend pas en charge les nouvelles tentatives ou les notifications. Pour plus d'informations sur la tâche de condition if/else, consultez Ajouter une logique de branchement à un Job avec la tâche If/else.

Les clés suivantes sont disponibles pour une tâche de condition. Pour la définition d'objet d'API REST correspondante, voir condition_task.

Clé

Type

Description

left

Chaîne

Obligatoire. L'opérande gauche de la condition. Peut être une valeur de chaîne, un état de Job ou une référence de valeur dynamique, telle que {{job.repair_count}} ou {{tasks.task_key.values.output}}.

op

Chaîne

Obligatoire. L'opérateur à utiliser pour la comparaison. Les valeurs valides sont : EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL.

right

Chaîne

Obligatoire. L'opérande de droite de la condition. Peut être une valeur de chaîne, un état de Job ou une référence de valeur dynamique.

Clé

Type

Description

left

Chaîne

Obligatoire. L'opérande gauche de la condition. Peut être une valeur de chaîne, un état de Job ou une référence de valeur dynamique, telle que {{job.repair_count}} ou {{tasks.task_key.values.output}}.

op

Chaîne

Obligatoire. L'opérateur à utiliser pour la comparaison. Les valeurs valides sont : EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL.

right

Chaîne

Obligatoire. L'opérande de droite de la condition. Peut être une valeur de chaîne, un état de Job ou une référence de valeur dynamique.

Exemples

L'exemple suivant contient une tâche de condition et une tâche de Notebook, où la tâche de Notebook ne s'exécute que si le nombre de réparations de Job est inférieur à 5.

YAML
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: condition_task
condition_task:
op: LESS_THAN
left: '{{job.repair_count}}'
right: '5'
- task_key: notebook_task
depends_on:
- task_key: condition_task
outcome: 'true'
notebook_task:
notebook_path: ../src/notebook.ipynb

Tâche de tableau de bord

Vous utilisez cette tâche pour refresh un tableau de bord et envoyer un instantané aux abonnés. Pour plus d'informations sur les tableaux de bord dans les bundles, consultez tableau de bord.

Les clés suivantes sont disponibles pour une tâche de tableau de bord. Pour la définition d’objet REST API correspondante, voir tâche de tableau de bord.

Ajouté dans la version 0.248.0 de Databricks CLI.

Clé

Type

Description

dashboard_id

Chaîne

Obligatoire. L'identifiant du tableau de bord à actualiser. Le tableau de bord doit déjà exister.

subscription

Carte

La configuration de l'abonnement pour l'envoi de l'instantané du tableau de bord. Chaque objet d'abonnement peut spécifier des paramètres de destination pour l'envoi des instantanés une fois que le refresh du tableau de bord est terminé. Voir abonnement.

warehouse_id

Chaîne

L'ID du warehouse à utiliser pour exécuter le tableau de bord selon le calendrier. Si non spécifié, le default warehouse du tableau de bord sera utilisé.

Clé

Type

Description

dashboard_id

Chaîne

Obligatoire. L'identifiant du tableau de bord à actualiser. Le tableau de bord doit déjà exister.

subscription

Carte

La configuration de l'abonnement pour l'envoi de l'instantané du tableau de bord. Chaque objet d'abonnement peut spécifier des paramètres de destination pour l'envoi des instantanés une fois que le refresh du tableau de bord est terminé. Voir abonnement.

warehouse_id

Chaîne

L'ID du warehouse à utiliser pour exécuter le tableau de bord selon le calendrier. Si non spécifié, le default warehouse du tableau de bord sera utilisé.

Exemples

L'exemple suivant ajoute une tâche de tableau de bord à un job. Lorsque le job est exécuté, le tableau de bord avec l'ID spécifié est actualisé.

YAML
resources:
jobs:
my-dashboard-job:
name: my-dashboard-job
tasks:
- task_key: my-dashboard-task
dashboard_task:
dashboard_id: 11111111-1111-1111-1111-111111111111

tâche dbt

Vous utilisez cette tâche pour exécuter une ou plusieurs commandes dbt. Pour plus d'information sur dbt, consultez Connectez-vous à dbt Cloud.

Les clés suivantes sont disponibles pour une tâche dbt. Pour la définition d'objet API REST correspondante, consultez dbt_task.

Clé

Type

Description

catalog

Chaîne

Nom du catalogue à utiliser. La valeur du catalogue ne peut être spécifiée que si un warehouse_id est spécifié. Ce champ nécessite dbt-databricks >= 1.1.1.

commands

Séquence

Obligatoire. Une liste de commandes dbt à exécuter dans l'ordre. Chaque commande doit être une commande dbt complète (par exemple, dbt deps, dbt seed, dbt run, dbt test). Un maximum de 10 commandes peut être fourni.

profiles_directory

Chaîne

Le chemin d’accès au répertoire contenant le fichier dbt profiles.yml. Ne peut être spécifié que si aucun warehouse_id n'est spécifié. Si aucun warehouse_id n'est spécifié et que ce dossier n'est pas défini, le répertoire racine est utilisé.

project_directory

Chaîne

Le chemin d'accès au répertoire contenant le projet dbt. Si aucune valeur n'est spécifiée, la racine du repository ou du répertoire Workspace est définie par default. Pour les projets stockés dans le Databricks Workspace, le chemin doit être absolu et commencer par une barre oblique. Pour les projets dans un repository distant, le chemin d'accès doit être relatif.

schema

Chaîne

Le schéma dans lequel écrire. Ce paramètre n’est utilisé que lorsqu’un warehouse_id est également fourni. Si non fourni, le schéma par default est utilisé.

source

Chaîne

Le type d'emplacement du projet dbt. Les valeurs valides sont WORKSPACE et GIT. Lorsque défini sur WORKSPACE, le projet sera récupéré depuis le Workspace Databricks. Lorsque défini sur GIT, le projet sera récupéré à partir d'un repository Git défini dans git_source. S'il est vide, la tâche utilise GIT si git_source est défini et WORKSPACE sinon.

warehouse_id

Chaîne

L'ID du SQL Warehouse à utiliser pour l'exécution des commandes dbt. S'il n'est pas spécifié, le warehouse default sera utilisé.

Clé

Type

Description

catalog

Chaîne

Nom du catalogue à utiliser. La valeur du catalogue ne peut être spécifiée que si un warehouse_id est spécifié. Ce champ nécessite dbt-databricks >= 1.1.1.

commands

Séquence

Obligatoire. Une liste de commandes dbt à exécuter dans l'ordre. Chaque commande doit être une commande dbt complète (par exemple, dbt deps, dbt seed, dbt run, dbt test). Un maximum de 10 commandes peut être fourni.

profiles_directory

Chaîne

Le chemin d’accès au répertoire contenant le fichier dbt profiles.yml. Ne peut être spécifié que si aucun warehouse_id n'est spécifié. Si aucun warehouse_id n'est spécifié et que ce dossier n'est pas défini, le répertoire racine est utilisé.

project_directory

Chaîne

Le chemin d'accès au répertoire contenant le projet dbt. Si aucune valeur n'est spécifiée, la racine du repository ou du répertoire Workspace est définie par default. Pour les projets stockés dans le Databricks Workspace, le chemin doit être absolu et commencer par une barre oblique. Pour les projets dans un repository distant, le chemin d'accès doit être relatif.

schema

Chaîne

Le schéma dans lequel écrire. Ce paramètre n’est utilisé que lorsqu’un warehouse_id est également fourni. Si non fourni, le schéma par default est utilisé.

source

Chaîne

Le type d'emplacement du projet dbt. Les valeurs valides sont WORKSPACE et GIT. Lorsque défini sur WORKSPACE, le projet sera récupéré depuis le Workspace Databricks. Lorsque défini sur GIT, le projet sera récupéré à partir d'un repository Git défini dans git_source. S'il est vide, la tâche utilise GIT si git_source est défini et WORKSPACE sinon.

warehouse_id

Chaîne

L'ID du SQL Warehouse à utiliser pour l'exécution des commandes dbt. S'il n'est pas spécifié, le warehouse default sera utilisé.

Exemples

L'exemple suivant ajoute une tâche dbt à un job. Cette tâche dbt utilise le SQL warehouse spécifié pour exécuter les commandes dbt spécifiées.

Pour obtenir l'ID d'un SQL Warehouse, ouvrez la page des paramètres du SQL Warehouse, puis copiez l'ID trouvé entre parenthèses après le nom du warehouse dans le champ Nom sous le tab Vue d'ensemble .

astuce

Declarative Automation Bundles comprend également un template de projet dbt-sql qui définit un job avec une tâche dbt, ainsi que des profils dbt pour les jobs dbt déployés. Pour obtenir des informations sur les Template de Declarative Automation Bundles, consultez les bundles default.

YAML
resources:
jobs:
my-dbt-job:
name: my-dbt-job
tasks:
- task_key: my-dbt-task
dbt_task:
commands:
- 'dbt deps'
- 'dbt seed'
- 'dbt run'
project_directory: /Users/someone@example.com/Testing
warehouse_id: 1a111111a1111aa1
libraries:
- pypi:
package: 'dbt-databricks>=1.0.0,<2.0.0'

Pour chaque tâche

Le for_each_task vous permet d'ajouter une tâche avec une boucle pour chaque à votre job. La tâche exécute une tâche imbriquée pour chaque entrée fournie. Pour plus d'informations sur le for_each_task, consultez Utiliser une tâche For each pour exécuter une autre tâche en boucle.

Les clés suivantes sont disponibles pour un for_each_task. Pour la définition d'objet API REST correspondante, consultez for_each_task.

Clé

Type

Description

concurrency

Entier

Le nombre maximal d'itérations de tâche pouvant s'exécuter simultanément. Si non spécifié, toutes les itérations peuvent s'exécuter en parallèle sous réserve des limites des clusters et du workspace.

inputs

Chaîne

Obligatoire. Les données d'entrée pour la boucle. Il peut s'agir d'une chaîne JSON ou d'une référence à un parameter de tableau. Chaque élément du tableau sera transmis à une itération de la tâche imbriquée.

task

Carte

Obligatoire. La définition de la tâche imbriquée à exécuter pour chaque entrée. Cet objet contient la spécification complète de la tâche, y compris task_key et le type de tâche (p. ex., notebook_task, python_wheel_task, etc.).

Clé

Type

Description

concurrency

Entier

Le nombre maximal d'itérations de tâche pouvant s'exécuter simultanément. Si non spécifié, toutes les itérations peuvent s'exécuter en parallèle sous réserve des limites des clusters et du workspace.

inputs

Chaîne

Obligatoire. Les données d'entrée pour la boucle. Il peut s'agir d'une chaîne JSON ou d'une référence à un parameter de tableau. Chaque élément du tableau sera transmis à une itération de la tâche imbriquée.

task

Carte

Obligatoire. La définition de la tâche imbriquée à exécuter pour chaque entrée. Cet objet contient la spécification complète de la tâche, y compris task_key et le type de tâche (p. ex., notebook_task, python_wheel_task, etc.).

Exemples

L'exemple suivant ajoute un for_each_task à un Job, où il parcourt les valeurs d'une autre tâche et les traite.

YAML
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: generate_countries_list
notebook_task:
notebook_path: ../src/generate_countries_list.ipnyb
- task_key: process_countries
depends_on:
- task_key: generate_countries_list
for_each_task:
inputs: '{{tasks.generate_countries_list.values.countries}}'
task:
task_key: process_countries_iteration
notebook_task:
notebook_path: ../src/process_countries_notebook.ipnyb

Tâche JAR

Vous utilisez cette tâche pour exécuter un JAR. Vous pouvez référencer des bibliothèques JAR locales ou celles d'un Workspace, un volume Unity Catalog ou un emplacement de stockage cloud externe. Voir le fichier JAR (Java ou Scala).

Pour plus d’informations sur la façon de compiler et de déployer des fichiers Scala JAR sur un cluster compatible Unity Catalog en mode d’accès standard, consultez Didacticiel : Exécuter du code Scala sur un compute serverless.

Les clés suivantes sont disponibles pour une tâche JAR. Pour la définition de l'objet API REST correspondante, consultez jar_task.

Clé

Type

Description

jar_uri

Chaîne

Obsolète. L'URI du JAR à exécuter. Les chemins DBFS et de stockage cloud sont pris en charge. Ce champ est obsolète et ne doit pas être utilisé. Utilisez plutôt le champ libraries pour spécifier les dépendances JAR.

main_class_name

Chaîne

Obligatoire. Le nom complet de la classe contenant la méthode principale à exécuter. Cette classe doit être contenue dans un JAR fourni en tant que bibliothèque. Le code doit utiliser SparkContext.getOrCreate pour obtenir un contexte Spark ; sinon, les exécutions du Job échouent.

parameters

Séquence

Les paramètres transmis à la méthode principale. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.

Clé

Type

Description

jar_uri

Chaîne

Obsolète. L'URI du JAR à exécuter. Les chemins DBFS et de stockage cloud sont pris en charge. Ce champ est obsolète et ne doit pas être utilisé. Utilisez plutôt le champ libraries pour spécifier les dépendances JAR.

main_class_name

Chaîne

Obligatoire. Le nom complet de la classe contenant la méthode principale à exécuter. Cette classe doit être contenue dans un JAR fourni en tant que bibliothèque. Le code doit utiliser SparkContext.getOrCreate pour obtenir un contexte Spark ; sinon, les exécutions du Job échouent.

parameters

Séquence

Les paramètres transmis à la méthode principale. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.

Exemples

L'exemple suivant ajoute une tâche JAR à un Job. Le chemin du JAR se trouve à un emplacement de volume.

YAML
resources:
jobs:
my-jar-job:
name: my-jar-job
tasks:
- task_key: my-jar-task
spark_jar_task:
main_class_name: org.example.com.Main
libraries:
- jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar

Tâche de Notebook

Vous utilisez cette tâche pour exécuter un notebook. Consultez Tâche de Notebook pour les Jobs.

Les clés suivantes sont disponibles pour une tâche de Notebook. Pour la définition d'objet d'API REST correspondante, consultez la tâche de bloc-notes.

Clé

Type

Description

base_parameters

Carte

Les paramètres de base à utiliser pour chaque exécution de ce Job.

  • Si l'exécution est initiée par un appel aux Jobs ou à run-now avec des parameters spécifiés, les deux mappages de parameters sont fusionnés.
  • Si la même clé est spécifiée dans base_parameters et dans run-now, la valeur de run-now est utilisée. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.
  • Si le Notebook prend un parameter qui n'est pas spécifié dans le base_parameters du Job ou les parameter de substitution run-now, la valeur par default du Notebook est utilisée. Récupérez ces parameter dans un Notebook à l'aide de dbutils.widgets.get.

notebook_path

Chaîne

Obligatoire. Chemin du Notebook dans le Workspace Databricks ou le repository distant, par exemple /Users/user.name@databricks.com/notebook_to_run. Pour les Notebook stockés dans le Workspace Databricks, le chemin doit être absolu et commencer par une barre oblique. Pour les Notebooks stockés dans un repository distant, le chemin doit être relatif.

source

Chaîne

Type d'emplacement du Notebook. Les valeurs valides sont WORKSPACE et GIT. Lorsqu'il est défini sur WORKSPACE, le Notebook est récupéré depuis le Databricks Workspace local. Lorsqu'il est défini sur GIT, le Notebook sera récupéré à partir d'un repository Git défini dans git_source. Si la valeur est vide, la tâche utilisera GIT si git_source est défini et WORKSPACE sinon.

warehouse_id

Chaîne

L'ID du warehouse sur lequel exécuter le notebook. Les Warehouses SQL classiques ne sont pas pris en charge. Utilisez des SQL Warehouse Serverless ou Pro à la place. Notez que les SQL Warehouse prennent uniquement en charge les cellules SQL. Si le Notebook contient des cellules non-SQL, l'exécution échouera. Ainsi, si vous devez utiliser Python (ou autre) dans une cellule, utilisez Serverless.

Clé

Type

Description

base_parameters

Carte

Les paramètres de base à utiliser pour chaque exécution de ce Job.

  • Si l'exécution est initiée par un appel aux Jobs ou à run-now avec des parameters spécifiés, les deux mappages de parameters sont fusionnés.
  • Si la même clé est spécifiée dans base_parameters et dans run-now, la valeur de run-now est utilisée. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.
  • Si le Notebook prend un parameter qui n'est pas spécifié dans le base_parameters du Job ou les parameter de substitution run-now, la valeur par default du Notebook est utilisée. Récupérez ces parameter dans un Notebook à l'aide de dbutils.widgets.get.

notebook_path

Chaîne

Obligatoire. Chemin du Notebook dans le Workspace Databricks ou le repository distant, par exemple /Users/user.name@databricks.com/notebook_to_run. Pour les Notebook stockés dans le Workspace Databricks, le chemin doit être absolu et commencer par une barre oblique. Pour les Notebooks stockés dans un repository distant, le chemin doit être relatif.

source

Chaîne

Type d'emplacement du Notebook. Les valeurs valides sont WORKSPACE et GIT. Lorsqu'il est défini sur WORKSPACE, le Notebook est récupéré depuis le Databricks Workspace local. Lorsqu'il est défini sur GIT, le Notebook sera récupéré à partir d'un repository Git défini dans git_source. Si la valeur est vide, la tâche utilisera GIT si git_source est défini et WORKSPACE sinon.

warehouse_id

Chaîne

L'ID du warehouse sur lequel exécuter le notebook. Les Warehouses SQL classiques ne sont pas pris en charge. Utilisez des SQL Warehouse Serverless ou Pro à la place. Notez que les SQL Warehouse prennent uniquement en charge les cellules SQL. Si le Notebook contient des cellules non-SQL, l'exécution échouera. Ainsi, si vous devez utiliser Python (ou autre) dans une cellule, utilisez Serverless.

Exemples

L'exemple suivant ajoute une tâche de Notebook à un Job et définit un paramètre de Job nommé my_job_run_id. Le chemin du Notebook à déployer est relatif au fichier de configuration dans lequel cette tâche est déclarée. La tâche récupère le Notebook à partir de son emplacement de déploiement dans le Workspace Databricks.

YAML
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-task
notebook_task:
notebook_path: ./my-notebook.ipynb
parameters:
- name: my_job_run_id
default: '{{job.run_id}}'

Tâche de pipeline

Vous utilisez cette tâche pour exécuter un pipeline. See Spark Declarative Pipelines.

Les clés suivantes sont disponibles pour une tâche de pipeline. Pour la définition d'objet de l'API REST correspondante, voir pipeline_task.

Clé

Type

Description

full_refresh

Booléen

Si vrai, un refresh complet du pipeline sera déclenché, ce qui recalculera entièrement tous les datasets du pipeline. Si faux ou omis, seules les données incrémentielles seront traitées. Pour plus de détails, consultez Sémantique de refresh du pipeline.

pipeline_id

Chaîne

Obligatoire. L'ID du pipeline à exécuter. Le pipeline doit déjà exister.

Clé

Type

Description

full_refresh

Booléen

Si vrai, un refresh complet du pipeline sera déclenché, ce qui recalculera entièrement tous les datasets du pipeline. Si faux ou omis, seules les données incrémentielles seront traitées. Pour plus de détails, consultez Sémantique de refresh du pipeline.

pipeline_id

Chaîne

Obligatoire. L'ID du pipeline à exécuter. Le pipeline doit déjà exister.

Exemples

L'exemple suivant ajoute une tâche de pipeline à un Job. Cette tâche exécute le pipeline spécifié.

astuce

Vous pouvez obtenir l’ID d'un pipeline en l'ouvrant dans le Workspace et en copiant la valeur ID du pipeline dans l'onglet Détails du pipeline de la page des paramètres du pipeline.

YAML
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111

Tâche Power BI

info

Aperçu

Le type de tâche Power BI est en préversion publique.

Utilisez cette tâche pour Trigger une refresh d'un modèle sémantique Power BI (anciennement connu sous le nom de dataset).

Les clés suivantes sont disponibles pour une tâche Power BI. Pour la définition d’objet d’API REST correspondante, consultez power_bi_task.

Ajouté dans la version 0.248.0 de Databricks CLI.

Clé

Type

Description

connection_resource_name

Chaîne

Obligatoire. Le nom de la connexion Unity Catalog pour l'authentification de Databricks à Power BI.

power_bi_model

Chaîne

Obligatoire. Le nom du modèle sémantique Power BI (dataset) à mettre à jour.

refresh_after_update

Booléen

Indique s'il faut refresh le modèle sémantique Power BI une fois la mise à jour terminée. default to false.

tables

Séquence

Une liste de tables (chacune sous forme de Map) à exporter vers Power BI. Consultez les tables.

warehouse_id

Chaîne

L'ID du SQL Warehouse à utiliser comme source de données Power BI.

Clé

Type

Description

connection_resource_name

Chaîne

Obligatoire. Le nom de la connexion Unity Catalog pour l'authentification de Databricks à Power BI.

power_bi_model

Chaîne

Obligatoire. Le nom du modèle sémantique Power BI (dataset) à mettre à jour.

refresh_after_update

Booléen

Indique s'il faut refresh le modèle sémantique Power BI une fois la mise à jour terminée. default to false.

tables

Séquence

Une liste de tables (chacune sous forme de Map) à exporter vers Power BI. Consultez les tables.

warehouse_id

Chaîne

L'ID du SQL Warehouse à utiliser comme source de données Power BI.

Exemples

L'exemple suivant définit une tâche Power BI, qui spécifie une connexion, le modèle Power BI à mettre à jour et la table Databricks à exporter.

YAML
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: power_bi_task
power_bi_task:
connection_resource_name: 'connection_name'
power_bi_model:
workspace_name: 'workspace_name'
model_name: 'model_name'
storage_mode: 'DIRECT_QUERY'
authentication_method: 'OAUTH'
overwrite_existing: false
refresh_after_update: false
tables:
- catalog: 'main'
schema: 'tpch'
name: 'customers'
storage_mode: 'DIRECT_QUERY'
warehouse_id: '1a111111a1111aa1'

Tâche de script Python

Vous utilisez cette tâche pour exécuter un fichier Python.

Les clés suivantes sont disponibles pour une tâche de script Python. Pour la définition d'objet API REST correspondante, consultez python_task.

Clé

Type

Description

parameters

Séquence

Les parameters à transmettre au fichier Python. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.

python_file

Chaîne

Obligatoire. L'URI du fichier Python à exécuter, par exemple /Users/someone@example.com/my-script.py. Pour les fichiers Python stockés dans le workspace Databricks, le chemin doit être absolu et commencer par /. Pour les fichiers stockés dans un repository distant, le chemin doit être relatif. Ce champ ne prend pas en charge les références de valeurs dynamiques telles que les variables.

source

Chaîne

Le type d'emplacement du fichier Python. Les valeurs valides sont WORKSPACE et GIT. Lorsque le paramètre est défini sur WORKSPACE, le fichier est récupéré depuis le Workspace Databricks local. Lorsque le paramètre est défini sur GIT, le fichier est récupéré depuis un repository Git défini dans git_source. Si la valeur est vide, la tâche utilisera GIT si git_source est défini et WORKSPACE sinon.

Clé

Type

Description

parameters

Séquence

Les parameters à transmettre au fichier Python. Utiliser les variables de paramètre de tâche pour définir les paramètres contenant des informations sur les exécutions de job.

python_file

Chaîne

Obligatoire. L'URI du fichier Python à exécuter, par exemple /Users/someone@example.com/my-script.py. Pour les fichiers Python stockés dans le workspace Databricks, le chemin doit être absolu et commencer par /. Pour les fichiers stockés dans un repository distant, le chemin doit être relatif. Ce champ ne prend pas en charge les références de valeurs dynamiques telles que les variables.

source

Chaîne

Le type d'emplacement du fichier Python. Les valeurs valides sont WORKSPACE et GIT. Lorsque le paramètre est défini sur WORKSPACE, le fichier est récupéré depuis le Workspace Databricks local. Lorsque le paramètre est défini sur GIT, le fichier est récupéré depuis un repository Git défini dans git_source. Si la valeur est vide, la tâche utilisera GIT si git_source est défini et WORKSPACE sinon.

Exemples

L'exemple suivant ajoute une tâche de script Python à un Job. Le chemin d'accès du fichier Python à déployer est relatif au fichier de configuration dans lequel cette tâche est déclarée. La tâche récupère le fichier Python à partir de son emplacement déployé dans le Workspace Databricks.

YAML
resources:
jobs:
my-python-script-job:
name: my-python-script-job

tasks:
- task_key: my-python-script-task
spark_python_task:
python_file: ./my-script.py

Tâche Python wheel

Vous utilisez cette tâche pour exécuter une Python wheel. Voir Créer un fichier Python wheel à l'aide des Declarative Automation Bundles.

Les clés suivantes sont disponibles pour une tâche Python wheel. Pour la définition d'objet d'API REST correspondante, consultez python_wheel_task.

Clé

Type

Description

entry_point

Chaîne

Obligatoire. Le Point d'entrée nommé à exécuter : fonction ou classe. Si elle n’existe pas dans les métadonnées du package, elle exécute la fonction du package directement à l’aide de $packageName.$entryPoint().

named_parameters

Carte

Les parameters nommés à transmettre à la tâche Python wheel, également appelés arguments mot-clé . Un parameter nommé est une paire clé-valeur avec une clé de chaîne et une valeur de chaîne. Les deux parameters et named_parameters ne peuvent pas être spécifiés. Si named_parameters est spécifié, les parameters sont transmis en tant qu'arguments mot-clé à la fonction de point d'entrée.

package_name

Chaîne

Obligatoire. Le nom du package Python à exécuter. Toutes les dépendances doivent être installées dans l’environnement. Cela ne vérifie ni n'installe les dépendances de package.

parameters

Séquence

Les paramètres à transmettre à la tâche Python wheel, aussi connus sous le nom d' arguments positionnels . Chaque parameter est une chaîne. Si spécifié, named_parameters ne doit pas être spécifié.

Clé

Type

Description

entry_point

Chaîne

Obligatoire. Le Point d'entrée nommé à exécuter : fonction ou classe. Si elle n’existe pas dans les métadonnées du package, elle exécute la fonction du package directement à l’aide de $packageName.$entryPoint().

named_parameters

Carte

Les parameters nommés à transmettre à la tâche Python wheel, également appelés arguments mot-clé . Un parameter nommé est une paire clé-valeur avec une clé de chaîne et une valeur de chaîne. Les deux parameters et named_parameters ne peuvent pas être spécifiés. Si named_parameters est spécifié, les parameters sont transmis en tant qu'arguments mot-clé à la fonction de point d'entrée.

package_name

Chaîne

Obligatoire. Le nom du package Python à exécuter. Toutes les dépendances doivent être installées dans l’environnement. Cela ne vérifie ni n'installe les dépendances de package.

parameters

Séquence

Les paramètres à transmettre à la tâche Python wheel, aussi connus sous le nom d' arguments positionnels . Chaque parameter est une chaîne. Si spécifié, named_parameters ne doit pas être spécifié.

Exemples

L'exemple suivant ajoute une tâche Python wheel à un Job. Le chemin d'accès du fichier Python wheel à déployer est relatif au fichier de configuration dans lequel cette tâche est déclarée. Consultez les dépendances de la bibliothèque Declarative Automation Bundles.

YAML
resources:
jobs:
my-python-wheel-job:
name: my-python-wheel-job
tasks:
- task_key: my-python-wheel-task
python_wheel_task:
entry_point: run
package_name: my_package
libraries:
- whl: ./my_package/dist/my_package-*.whl

Exécuter une tâche de job

Vous utilisez cette tâche pour exécuter un autre job.

Les clés suivantes sont disponibles pour une tâche d'exécution de Job. Pour la définition d'objet REST API correspondante, consultez tâche d'exécution de Job.

Clé

Type

Description

job_id

Entier

Obligatoire. L'ID du Job à exécuter. Le Job doit déjà exister dans le Workspace.

job_parameters

Carte

Paramètres au niveau du Job à transmettre au Job en cours d'exécution. Ces paramètres sont accessibles au sein des tâches du Job.

pipeline_params

Carte

Paramètres pour la tâche de pipeline. Utilisé uniquement si le Job en cours d'exécution contient une tâche de pipeline. Peut inclure full_refresh pour Trigger un refresh complet du pipeline.

Clé

Type

Description

job_id

Entier

Obligatoire. L'ID du Job à exécuter. Le Job doit déjà exister dans le Workspace.

job_parameters

Carte

Paramètres au niveau du Job à transmettre au Job en cours d'exécution. Ces paramètres sont accessibles au sein des tâches du Job.

pipeline_params

Carte

Paramètres pour la tâche de pipeline. Utilisé uniquement si le Job en cours d'exécution contient une tâche de pipeline. Peut inclure full_refresh pour Trigger un refresh complet du pipeline.

Exemples

L'exemple suivant contient une tâche d'exécution de job dans le deuxième job qui exécute le premier job.

Cet exemple utilise une substitution pour récupérer l'ID du job à exécuter. Pour obtenir l'ID d'un Job depuis l'interface utilisateur, ouvrez le Job dans le Workspace et copiez l'ID de la valeur ID de Job dans la tab Détails du Job de la page des paramètres du Job.

YAML
resources:
jobs:
my-first-job:
name: my-first-job
tasks:
- task_key: my-first-job-task
new_cluster:
spark_version: '13.3.x-scala2.12'
node_type_id: 'i3.xlarge'
num_workers: 2
notebook_task:
notebook_path: ./src/test.py
my_second_job:
name: my-second-job
tasks:
- task_key: my-second-job-task
run_job_task:
job_id: ${resources.jobs.my-first-job.id}

Tâche SQL

Vous utilisez cette tâche pour exécuter un fichier SQL, une query ou une alerte.

Les clés suivantes sont disponibles pour une tâche SQL. Pour la définition correspondante de l'API REST, consultez sql_task.

Clé

Type

Description

alert

Carte

Configuration pour l'exécution d'une alerte SQL. Contient :

  • alert_id (Chaîne) : Requis. L'identifiant canonique de l'alerte SQL à exécuter.
  • pause_subscriptions (Booléen) : Indique s'il faut suspendre les abonnements aux alertes.
  • subscriptions (Séquence) : Liste des paramètres d’abonnement.

dashboard

Carte

Configuration pour l'actualisation d'un tableau de bord SQL. Contient :

  • dashboard_id (Chaîne) : Requis. L'identifiant canonique du tableau de bord SQL à refresh.
  • custom_subject (Chaîne de caractères) : Objet personnalisé pour l'e-mail envoyé aux abonnés du tableau de bord.
  • pause_subscriptions (Booléen) : Faut-il suspendre les abonnements au tableau de bord.
  • subscriptions (Séquence) : Liste des paramètres d’abonnement.

file

Carte

Configuration pour l'exécution d'un fichier SQL. Contient :

  • path (Chaîne) : Requis. Le chemin du fichier SQL dans le workspace ou le repository distant. Pour les fichiers stockés dans le workspace Databricks, le chemin doit être absolu et commencer par une barre oblique. Pour les fichiers stockés dans un repository distant, le chemin doit être relatif.
  • source (Chaîne) : Le type d’emplacement du fichier SQL. Les valeurs valides sont WORKSPACE et GIT.

parameters

Carte

Paramètres à utiliser pour chaque exécution de cette tâche. Les requêtes SQL et les fichiers peuvent utiliser ces paramètres en y faisant référence avec la syntaxe {{parameter_key}}. Utilisez des variables de paramètre de tâche pour définir des paramètres contenant des informations sur les exécutions de job.

query

Carte

Configuration pour l'exécution d'une requête SQL. Contient :

  • query_id (Chaîne) : Requis. L'identifiant canonique de la query SQL à exécuter.

warehouse_id

Chaîne

Obligatoire. L'ID du SQL Warehouse à utiliser pour exécuter la tâche SQL. Le SQL Warehouse doit déjà exister.

Clé

Type

Description

alert

Carte

Configuration pour l'exécution d'une alerte SQL. Contient :

  • alert_id (Chaîne) : Requis. L'identifiant canonique de l'alerte SQL à exécuter.
  • pause_subscriptions (Booléen) : Indique s'il faut suspendre les abonnements aux alertes.
  • subscriptions (Séquence) : Liste des paramètres d’abonnement.

dashboard

Carte

Configuration pour l'actualisation d'un tableau de bord SQL. Contient :

  • dashboard_id (Chaîne) : Requis. L'identifiant canonique du tableau de bord SQL à refresh.
  • custom_subject (Chaîne de caractères) : Objet personnalisé pour l'e-mail envoyé aux abonnés du tableau de bord.
  • pause_subscriptions (Booléen) : Faut-il suspendre les abonnements au tableau de bord.
  • subscriptions (Séquence) : Liste des paramètres d’abonnement.

file

Carte

Configuration pour l'exécution d'un fichier SQL. Contient :

  • path (Chaîne) : Requis. Le chemin du fichier SQL dans le workspace ou le repository distant. Pour les fichiers stockés dans le workspace Databricks, le chemin doit être absolu et commencer par une barre oblique. Pour les fichiers stockés dans un repository distant, le chemin doit être relatif.
  • source (Chaîne) : Le type d’emplacement du fichier SQL. Les valeurs valides sont WORKSPACE et GIT.

parameters

Carte

Paramètres à utiliser pour chaque exécution de cette tâche. Les requêtes SQL et les fichiers peuvent utiliser ces paramètres en y faisant référence avec la syntaxe {{parameter_key}}. Utilisez des variables de paramètre de tâche pour définir des paramètres contenant des informations sur les exécutions de job.

query

Carte

Configuration pour l'exécution d'une requête SQL. Contient :

  • query_id (Chaîne) : Requis. L'identifiant canonique de la query SQL à exécuter.

warehouse_id

Chaîne

Obligatoire. L'ID du SQL Warehouse à utiliser pour exécuter la tâche SQL. Le SQL Warehouse doit déjà exister.

Exemples

astuce

Pour obtenir l'ID d'un SQL Warehouse, ouvrez la page des paramètres du SQL Warehouse, puis copiez l'ID trouvé entre parenthèses après le nom du warehouse dans le champ Nom sous le tab Vue d'ensemble .

L’exemple suivant ajoute une tâche de fichier SQL à un job. Cette tâche de fichier SQL utilise le SQL warehouse spécifié pour exécuter le fichier SQL spécifié.

YAML
resources:
jobs:
my-sql-file-job:
name: my-sql-file-job
tasks:
- task_key: my-sql-file-task
sql_task:
file:
path: /Users/someone@example.com/hello-world.sql
source: WORKSPACE
warehouse_id: 1a111111a1111aa1

L'exemple suivant ajoute une tâche d'alerte SQL à un Job. Cette tâche d'alerte SQL utilise le SQL Warehouse spécifié pour refresh l'alerte SQL spécifiée.

YAML
resources:
jobs:
my-sql-file-job:
name: my-sql-alert-job
tasks:
- task_key: my-sql-alert-task
sql_task:
warehouse_id: 1a111111a1111aa1
alert:
alert_id: 11111111-1111-1111-1111-111111111111

L'exemple suivant ajoute une tâche de requête SQL à un Job. Cette tâche de query SQL utilise le SQL Warehouse spécifié pour exécuter la query SQL spécifiée.

YAML
resources:
jobs:
my-sql-query-job:
name: my-sql-query-job
tasks:
- task_key: my-sql-query-task
sql_task:
warehouse_id: 1a111111a1111aa1
query:
query_id: 11111111-1111-1111-1111-111111111111

Autres paramètres de tâche

Les paramètres de tâche suivants vous permettent de configurer les comportements pour toutes les tâches. Pour les définitions d'objet d'API REST correspondantes, consultez les tâches.

Clé

Type

Description

compute

Carte

Configuration du compute au niveau des tâches. Chaque élément contient :

  • hardware_accelerator (String) : Configuration de l'accélérateur matériel pour les workloads GPU serverless. Les valeurs valides sont GPU_1xA10 et GPU_8xH100.

depends_on

Séquence

Une liste facultative de dépendances de tâche. Chaque élément contient :

  • task_key (Chaîne) : Requis. La clé de la tâche dont cette tâche dépend.
  • outcome (Chaîne) : peut être spécifié uniquement pour condition_task. Si spécifiée, la tâche dépendante ne s'exécutera que si la condition évalue le résultat spécifié (soit true, soit false).

description

Chaîne

Une description facultative pour la tâche.

disable_auto_optimization

Booléen

S'il faut désactiver l'optimisation automatique pour cette tâche. Si vrai, les optimisations automatiques comme l'exécution adaptative des requêtes seront désactivées.

email_notifications

Carte

Un ensemble facultatif d'adresses e-mail à notifier lorsqu'une exécution commence, se termine ou échoue. Chaque élément contient :

  • on_start Séquence : Liste d'adresses e-mail à notifier lorsqu'une exécution start.
  • on_success (Séquence) : Liste d'adresses e-mail à notifier lorsqu'une exécution se termine avec succès.
  • on_failure (Séquence) : Liste d'adresses e-mail à notifier lorsqu'une exécution échoue.
  • on_duration_warning_threshold_exceeded (Sequence) : Liste d'adresses e-mail à notifier lorsque la durée d'exécution dépasse le threshold.
  • on_streaming_backlog_suceeded (Séquence) : liste des adresses e-mail à notifier lorsque les seuils de backlog de streaming sont dépassés pour n’importe quel Stream.

environment_key

Chaîne

La clé d'un environnement définie dans la configuration environments du job. Utilisé pour spécifier les paramètres spécifiques à l'environnement. Ce champ est obligatoire pour les tâches de script Python, de Python wheel et de dbt lors de l’utilisation de Serverless compute.

existing_cluster_id

Chaîne

ID d'un cluster existant qui sera utilisé pour toutes les exécutions de cette tâche.

health

Carte

Une spécification facultative pour le monitoring de l'état de santé de cette tâche qui inclut une clé rules, qui est une liste de règles de santé à évaluer.

job_cluster_key

Chaîne

La clé d'un cluster Job définie dans la configuration job_clusters du Job.

libraries

Séquence

Une liste facultative de bibliothèques à installer sur le cluster qui exécutera la tâche. Chaque bibliothèque est spécifiée comme une carte avec des clés telles que jar, egg, whl, pypi, maven, cran, ou requirements.

max_retries

Entier

Un nombre maximal facultatif de tentatives pour relancer la tâche en cas d'échec. Si elle n'est pas spécifiée, la tâche ne sera pas relancée.

min_retry_interval_millis

Entier

Un intervalle minimal facultatif en millisecondes entre le start de l'exécution échouée et l'exécution de nouvelle tentative suivante. Si non spécifié, le default est 0 (nouvelle tentative immédiate).

new_cluster

Carte

Une spécification pour un nouveau cluster à créer pour chaque exécution de cette tâche. See clusters.

notification_settings

Carte

Paramètres de notification facultatifs pour cette tâche. Chaque élément contient :

  • no_alert_for_skipped_runs (Booléen) : si la valeur est vraie, n'envoyez pas de notifications pour les exécutions ignorées.
  • no_alert_for_canceled_runs (Booléen) : Si vrai, n'envoyez pas de notifications pour les exécutions annulées.
  • alert_on_last_attempt (Booléen) : Si la valeur est vraie, envoyez des notifications uniquement lors de la dernière tentative.

retry_on_timeout

Booléen

Une stratégie facultative pour spécifier s'il faut relancer la tâche lorsqu'elle expire. Si non spécifié, default est false.

run_if

Chaîne

Une valeur optionnelle indiquant la condition dans laquelle la tâche doit s'exécuter. Les valeurs valides sont :

  • ALL_SUCCESS (default) : Exécuter si toutes les dépendances réussissent.
  • AT_LEAST_ONE_SUCCESS: Exécuter si au moins une dépendance réussit.
  • NONE_FAILED: Exécuter si aucune dépendance n'a échoué.
  • ALL_DONE: Exécuter lorsque toutes les dépendances sont terminées, quel que soit le résultat.
  • AT_LEAST_ONE_FAILED: Exécuter si au moins une dépendance échoue.
  • ALL_FAILED: Exécuter si toutes les dépendances échouent.

task_key

Chaîne

Obligatoire. Un nom unique pour la tâche. Ce champ est utilisé pour faire référence à cette tâche à partir d'autres tâches à l'aide du champ depends_on.

timeout_seconds

Entier

Un délai d'expiration facultatif appliqué à chaque exécution de cette tâche. Une valeur de 0 signifie aucun délai d'expiration. Si aucune valeur n'est définie, le délai d'attente par default de la configuration du cluster est utilisé.

webhook_notifications

Carte

Un ensemble facultatif de destinations système à notifier lorsqu'une exécution commence, se termine ou échoue. Chaque élément contient :

  • on_start (Séquence) : Liste des destinations de notification lorsqu'une exécution start.
  • on_success (Séquence) : Liste des destinations de notification lorsqu'une exécution se termine.
  • on_failure (Séquence) : Liste des destinations de notification lorsqu'une exécution échoue.
  • on_duration_warning_threshold_exceeded (Séquence) : Liste des destinations de notification lorsque la durée d'exécution dépasse le threshold.
  • on_streaming_backlog_suceeded (Séquence) : liste des adresses e-mail à notifier lorsque les seuils de backlog de streaming sont dépassés pour n’importe quel Stream.

Clé

Type

Description

compute

Carte

Configuration du compute au niveau des tâches. Chaque élément contient :

  • hardware_accelerator (String) : Configuration de l'accélérateur matériel pour les workloads GPU serverless. Les valeurs valides sont GPU_1xA10 et GPU_8xH100.

depends_on

Séquence

Une liste facultative de dépendances de tâche. Chaque élément contient :

  • task_key (Chaîne) : Requis. La clé de la tâche dont cette tâche dépend.
  • outcome (Chaîne) : peut être spécifié uniquement pour condition_task. Si spécifiée, la tâche dépendante ne s'exécutera que si la condition évalue le résultat spécifié (soit true, soit false).

description

Chaîne

Une description facultative pour la tâche.

disable_auto_optimization

Booléen

S'il faut désactiver l'optimisation automatique pour cette tâche. Si vrai, les optimisations automatiques comme l'exécution adaptative des requêtes seront désactivées.

email_notifications

Carte

Un ensemble facultatif d'adresses e-mail à notifier lorsqu'une exécution commence, se termine ou échoue. Chaque élément contient :

  • on_start Séquence : Liste d'adresses e-mail à notifier lorsqu'une exécution start.
  • on_success (Séquence) : Liste d'adresses e-mail à notifier lorsqu'une exécution se termine avec succès.
  • on_failure (Séquence) : Liste d'adresses e-mail à notifier lorsqu'une exécution échoue.
  • on_duration_warning_threshold_exceeded (Sequence) : Liste d'adresses e-mail à notifier lorsque la durée d'exécution dépasse le threshold.
  • on_streaming_backlog_suceeded (Séquence) : liste des adresses e-mail à notifier lorsque les seuils de backlog de streaming sont dépassés pour n’importe quel Stream.

environment_key

Chaîne

La clé d'un environnement définie dans la configuration environments du job. Utilisé pour spécifier les paramètres spécifiques à l'environnement. Ce champ est obligatoire pour les tâches de script Python, de Python wheel et de dbt lors de l’utilisation de Serverless compute.

existing_cluster_id

Chaîne

ID d'un cluster existant qui sera utilisé pour toutes les exécutions de cette tâche.

health

Carte

Une spécification facultative pour le monitoring de l'état de santé de cette tâche qui inclut une clé rules, qui est une liste de règles de santé à évaluer.

job_cluster_key

Chaîne

La clé d'un cluster Job définie dans la configuration job_clusters du Job.

libraries

Séquence

Une liste facultative de bibliothèques à installer sur le cluster qui exécutera la tâche. Chaque bibliothèque est spécifiée comme une carte avec des clés telles que jar, egg, whl, pypi, maven, cran, ou requirements.

max_retries

Entier

Un nombre maximal facultatif de tentatives pour relancer la tâche en cas d'échec. Si elle n'est pas spécifiée, la tâche ne sera pas relancée.

min_retry_interval_millis

Entier

Un intervalle minimal facultatif en millisecondes entre le start de l'exécution échouée et l'exécution de nouvelle tentative suivante. Si non spécifié, le default est 0 (nouvelle tentative immédiate).

new_cluster

Carte

Une spécification pour un nouveau cluster à créer pour chaque exécution de cette tâche. See clusters.

notification_settings

Carte

Paramètres de notification facultatifs pour cette tâche. Chaque élément contient :

  • no_alert_for_skipped_runs (Booléen) : si la valeur est vraie, n'envoyez pas de notifications pour les exécutions ignorées.
  • no_alert_for_canceled_runs (Booléen) : Si vrai, n'envoyez pas de notifications pour les exécutions annulées.
  • alert_on_last_attempt (Booléen) : Si la valeur est vraie, envoyez des notifications uniquement lors de la dernière tentative.

retry_on_timeout

Booléen

Une stratégie facultative pour spécifier s'il faut relancer la tâche lorsqu'elle expire. Si non spécifié, default est false.

run_if

Chaîne

Une valeur optionnelle indiquant la condition dans laquelle la tâche doit s'exécuter. Les valeurs valides sont :

  • ALL_SUCCESS (default) : Exécuter si toutes les dépendances réussissent.
  • AT_LEAST_ONE_SUCCESS: Exécuter si au moins une dépendance réussit.
  • NONE_FAILED: Exécuter si aucune dépendance n'a échoué.
  • ALL_DONE: Exécuter lorsque toutes les dépendances sont terminées, quel que soit le résultat.
  • AT_LEAST_ONE_FAILED: Exécuter si au moins une dépendance échoue.
  • ALL_FAILED: Exécuter si toutes les dépendances échouent.

task_key

Chaîne

Obligatoire. Un nom unique pour la tâche. Ce champ est utilisé pour faire référence à cette tâche à partir d'autres tâches à l'aide du champ depends_on.

timeout_seconds

Entier

Un délai d'expiration facultatif appliqué à chaque exécution de cette tâche. Une valeur de 0 signifie aucun délai d'expiration. Si aucune valeur n'est définie, le délai d'attente par default de la configuration du cluster est utilisé.

webhook_notifications

Carte

Un ensemble facultatif de destinations système à notifier lorsqu'une exécution commence, se termine ou échoue. Chaque élément contient :

  • on_start (Séquence) : Liste des destinations de notification lorsqu'une exécution start.
  • on_success (Séquence) : Liste des destinations de notification lorsqu'une exécution se termine.
  • on_failure (Séquence) : Liste des destinations de notification lorsqu'une exécution échoue.
  • on_duration_warning_threshold_exceeded (Séquence) : Liste des destinations de notification lorsque la durée d'exécution dépasse le threshold.
  • on_streaming_backlog_suceeded (Séquence) : liste des adresses e-mail à notifier lorsque les seuils de backlog de streaming sont dépassés pour n’importe quel Stream.