Aller au contenu principal

Accéder aux valeurs des paramètres à partir d'une tâche

Accédez aux valeurs des paramètres du code dans vos tâches, y compris les notebooks Databricks, les scripts Python et les fichiers SQL.

Les paramètres incluent les paramètres définis par l'utilisateur, les valeurs de sortie des tâches en amont et les valeurs de métadonnées générées par le Job. Consultez Paramétrer les jobs.

Bien que les détails varient selon le type de tâche, il existe quatre méthodes courantes utilisées pour référencer les valeurs de paramètre à partir du code source :

Dans chacun de ces cas, vous référencez la clé du parameter pour récupérer sa valeur. La clé est parfois appelée le nom du parameter.

Pour voir ces techniques appliquées dans un Job piloté par les métadonnées qui utilise une tâche SQL et une tâche For each, consultez Utiliser une table de contrôle pour piloter un Job For each.

Utilisez dbutils dans le code d'un notebook

Le code de Notebook exécuté dans une tâche peut accéder aux valeurs des parameters avec la bibliothèque dbutils. L'exemple suivant montre comment utiliser dbutils en Python pour obtenir la valeur d'un parameter de tâche year_param qui est passé dans la tâche du Notebook.

Python
# Retrieve a job-level parameter
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Les parameters sont accessibles par nom. Si un paramètre de job et un paramètre de tâche partagent une clé, le paramètre de job prévaut. Voir pushdown des paramètres de Job.

Le code ci-dessus produit une erreur lorsqu’il est exécuté dans un Notebook autonome et non dans le cadre d’un Job, car les parameters ne sont pas envoyés dans un Notebook autonome. Vous pouvez définir un default pour le paramètre year_param avec le code suivant :

Python
# Set a default (for when not running in a job)
dbutils.widgets.text("year_param", "2012", "Year Parameter")

# Retrieve a job-level parameter (will use default if it doesn't exist)
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Bien que cela soit utile pour les tests en dehors d’un job, cela masque également les paramètres de tâche ou de job mal configurés.

Utiliser des parameters nommés en SQL

Lorsque vous exécutez SQL dans une tâche de notebook ou de pipeline, vous pouvez utiliser la syntaxe du paramètre nommé pour récupérer les paramètres de la tâche. Par exemple, pour récupérer un paramètre de tâche appelé year_param, vous pouvez obtenir sa valeur en utilisant :year_param dans votre query :

SQL
SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name

Accédez aux arguments sous forme de code

Pour certains types de tâches, les paramètres sont transmis au code en tant qu'arguments. Les types de tâche suivants ont des arguments qui leur sont transmis :

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Pour plus de détails, consultez Détails par type de tâche, plus loin sur cette page.

Pour les tâches dbt, les parameters sont transmis en appelant les commandes dbt dans votre tâche.

Utiliser des références de valeur dynamique lors de la configuration d'une tâche

Lorsque vous configurez une tâche dans l'interface utilisateur de Databricks, utilisez la syntaxe de référence de valeur dynamique pour récupérer les paramètres de job ou d'autres valeurs dynamiques. Pour récupérer les paramètres de Job, utilisez la syntaxe : {{job.parameters.<name>}}. Par exemple, lors de la configuration d'une tâche Python wheel, vous pouvez définir les entrées Clé et Valeur d'un paramètre pour référencer un paramètre de Job appelé year_param, tel que year / Year_{{job.parameters.year_param}}. Outre l'accès aux paramètres de configuration, les valeurs dynamiques vous donnent également accès à d'autres données concernant votre job ou votre tâche, par exemple, le {{job.id}}. Vous pouvez cliquer sur {} dans la configuration de la tâche pour obtenir une liste des valeurs dynamiques possibles, et les insérer dans votre configuration.

Détails par type de tâche

La méthode que vous utilisez dépend du type de tâche.

Type de tâche

Récupérer dans la configuration

Récupérer dans le code

Notebooks

Vous pouvez utiliser des références de valeur dynamiques dans l'interface utilisateur de Databricks pour configurer le Notebook (par exemple, pour faire référence aux parameters de Job dans les valeurs des parameters de tâche). Vous pouvez remplacer ou ajouter des paramètres supplémentaires lorsque vous exécutez manuellement une tâche à l'aide de l'option Exécuter un job avec des paramètres différents.

Vous pouvez utiliser des paramètres nommés pour SQL dans votre Notebook, ou dbutils.widgets dans votre code.

Script Python

Les paramètres définis dans la tâche sont transmis comme arguments à votre script. Vous pouvez utiliser des références de valeurs dynamiques dans la zone de texte Paramètres .

Les paramètres peuvent être lus comme des arguments positionnels ou analysés à l’aide du module argparse en Python.

Python wheel

Les parameters définis dans la définition de tâche sont passés en tant qu'arguments de mot-clé à votre code. Vos fichiers Python wheel doivent être configurés pour accepter les arguments de mot-clé. Vous pouvez utiliser des références de valeurs dynamiques dans les valeurs de vos paramètres.

Accéder en tant qu'arguments du mot-clé à votre script. Pour voir un exemple de lecture d'arguments dans un script Python empaqueté dans un fichier Python wheel, consultez Utiliser un fichier Python wheel dans les Lakeflow Jobs.

SQL

Vous pouvez utiliser des références de valeur dynamique dans la configuration de votre tâche.

Utilisez des parameters nommés pour récupérer les valeurs des parameters.

Pipeline (les parameters sont en Beta)

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Utilisez des parameters nommés pour récupérer les valeurs des parameters.

Tableau de bord

Vous pouvez pré-appliquer des valeurs de filtre en configurant les filtres de tableau de bord dans la tâche. Si l' identifiant d'URL d'un filtre correspond à une clé de paramètre au niveau du job, la tâche applique automatiquement la valeur de ce paramètre au filtre.

Non applicable.

Power BI

Les tâches Power BI ne prennent pas en charge le passage de parameters à la tâche.

Non pris en charge.

dbt

Vous pouvez utiliser des références de valeurs dynamiques pour transmettre des paramètres en tant que commandes dbt lors de la configuration de votre tâche.

Accéder en tant que dbt commandes.

JAR

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Les parameters sont accessibles en tant qu'arguments de la méthode principale de la classe principale.

Spark Submit

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Les parameters sont accessibles en tant qu'arguments de la méthode principale de la classe principale.

Exécuter le Job

Vous pouvez utiliser des références de valeur dynamique pour créer un ensemble de **paramètres de Job** lors de la configuration de votre tâche. Les valeurs peuvent inclure des références de valeurs dynamiques.

Non applicable.

Condition If/else

Vous pouvez utiliser des références de valeur dynamique lors de la configuration de votre tâche, par exemple, dans la Condition .

Non applicable.

Pour chaque

Vous pouvez utiliser des références de valeurs dynamiques lors de la configuration des Entrées pour votre tâche. La tâche imbriquée reçoit une entrée en tant que paramètre de tâche pour chaque itération de la tâche imbriquée.

Les tâches imbriquées récupèrent les paramètres en fonction du type de tâche.

Notebook de la salle blanche

Vous pouvez utiliser des références de valeurs dynamiques dans l'interface utilisateur de Databricks pour configurer le Notebook (par exemple, pour faire référence aux paramètres de job dans les valeurs des paramètres de tâche).

Vous pouvez utiliser des paramètres nommés pour SQL dans votre Notebook, ou dbutils.widgets dans votre code.

Type de tâche

Récupérer dans la configuration

Récupérer dans le code

Notebooks

Vous pouvez utiliser des références de valeur dynamiques dans l'interface utilisateur de Databricks pour configurer le Notebook (par exemple, pour faire référence aux parameters de Job dans les valeurs des parameters de tâche). Vous pouvez remplacer ou ajouter des paramètres supplémentaires lorsque vous exécutez manuellement une tâche à l'aide de l'option Exécuter un job avec des paramètres différents.

Vous pouvez utiliser des paramètres nommés pour SQL dans votre Notebook, ou dbutils.widgets dans votre code.

Script Python

Les paramètres définis dans la tâche sont transmis comme arguments à votre script. Vous pouvez utiliser des références de valeurs dynamiques dans la zone de texte Paramètres .

Les paramètres peuvent être lus comme des arguments positionnels ou analysés à l’aide du module argparse en Python.

Python wheel

Les parameters définis dans la définition de tâche sont passés en tant qu'arguments de mot-clé à votre code. Vos fichiers Python wheel doivent être configurés pour accepter les arguments de mot-clé. Vous pouvez utiliser des références de valeurs dynamiques dans les valeurs de vos paramètres.

Accéder en tant qu'arguments du mot-clé à votre script. Pour voir un exemple de lecture d'arguments dans un script Python empaqueté dans un fichier Python wheel, consultez Utiliser un fichier Python wheel dans les Lakeflow Jobs.

SQL

Vous pouvez utiliser des références de valeur dynamique dans la configuration de votre tâche.

Utilisez des parameters nommés pour récupérer les valeurs des parameters.

Pipeline (les parameters sont en Beta)

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Utilisez des parameters nommés pour récupérer les valeurs des parameters.

Tableau de bord

Vous pouvez pré-appliquer des valeurs de filtre en configurant les filtres de tableau de bord dans la tâche. Si l' identifiant d'URL d'un filtre correspond à une clé de paramètre au niveau du job, la tâche applique automatiquement la valeur de ce paramètre au filtre.

Non applicable.

Power BI

Les tâches Power BI ne prennent pas en charge le passage de parameters à la tâche.

Non pris en charge.

dbt

Vous pouvez utiliser des références de valeurs dynamiques pour transmettre des paramètres en tant que commandes dbt lors de la configuration de votre tâche.

Accéder en tant que dbt commandes.

JAR

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Les parameters sont accessibles en tant qu'arguments de la méthode principale de la classe principale.

Spark Submit

Vous pouvez utiliser des références de valeur dynamiques pour passer des parameters en tant qu'arguments dans la zone de texte Parameters lors de la configuration de votre tâche.

Les parameters sont accessibles en tant qu'arguments de la méthode principale de la classe principale.

Exécuter le Job

Vous pouvez utiliser des références de valeur dynamique pour créer un ensemble de **paramètres de Job** lors de la configuration de votre tâche. Les valeurs peuvent inclure des références de valeurs dynamiques.

Non applicable.

Condition If/else

Vous pouvez utiliser des références de valeur dynamique lors de la configuration de votre tâche, par exemple, dans la Condition .

Non applicable.

Pour chaque

Vous pouvez utiliser des références de valeurs dynamiques lors de la configuration des Entrées pour votre tâche. La tâche imbriquée reçoit une entrée en tant que paramètre de tâche pour chaque itération de la tâche imbriquée.

Les tâches imbriquées récupèrent les paramètres en fonction du type de tâche.

Notebook de la salle blanche

Vous pouvez utiliser des références de valeurs dynamiques dans l'interface utilisateur de Databricks pour configurer le Notebook (par exemple, pour faire référence aux paramètres de job dans les valeurs des paramètres de tâche).

Vous pouvez utiliser des paramètres nommés pour SQL dans votre Notebook, ou dbutils.widgets dans votre code.