Partager via


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

Cet article explique comment accéder aux valeurs de paramètres à partir du code dans vos tâches, notamment 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 travail. Consultez Définir les paramètres de projets.

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

Dans chacun de ces cas, vous référencez la clé du paramètre pour accéder à sa valeur. La clé est parfois appelée nom du paramètre.

Utiliser dbutils dans le code dans un bloc-notes

Le code de notebook s’exécutant dans une tâche peut accéder aux valeurs des paramètres avec la bibliothèque dbutils . L’exemple suivant montre comment utiliser dbutils dans Python pour obtenir la valeur d’un year_param paramètre de tâche passé dans la tâche de notebook.

# 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 paramètres sont accessibles par nom. Si vous avez des paramètres de tâche et des paramètres de travail portant le même nom, les paramètres de travail sont récupérés.

Le code ci-dessus génère une erreur lors de l’exécution dans un notebook autonome et non dans le cadre d’un travail, car les paramètres ne sont pas envoyés dans un bloc-notes autonome. Vous pouvez définir une valeur par défaut pour le year_param paramètre avec le code suivant :

# 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 le test en dehors d’un travail, il présente également l’inconvénient de se masquer lorsque les paramètres de tâche ou de travail ne sont pas configurés correctement.

Utiliser des paramètres nommés dans un notebook SQL

Lorsque vous exécutez SQL dans une tâche de notebook, vous pouvez utiliser la syntaxe de paramètre nommée pour accéder aux paramètres de tâche. Par exemple, pour accéder à un paramètre de tâche appelé year_param, vous pouvez obtenir sa valeur à l’aide :year_param de votre requête :

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

Accès en tant qu’arguments de code

Pour certains paramètres de types de tâches, ils sont passés au code en tant qu’arguments. Les types de tâches suivants ont des arguments passés à eux :

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Pour plus d’informations, consultez Détails par type de tâche, plus loin dans cet article.

Pour les tâches dbt, les paramètres sont passés en appelant des commandes dbt dans votre tâche.

Utiliser des références de valeurs dynamiques lors de la configuration d’une tâche

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

Détails par type de tâche

Laquelle de ces méthodes que vous utilisez dépend du type de tâche.

Type de tâche Accès à la configuration Accès au code
Cahiers Vous pouvez utiliser des références de valeurs dynamiques dans l’interface utilisateur Azure Databricks pour configurer le notebook (par exemple, pour faire référence aux paramètres de travail dans les valeurs des paramètres 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 travail avec différentes options de paramètres . Vous pouvez utiliser des paramètres nommés pour SQL dans votre bloc-notes ou dbutils.widgets dans votre code.
Script Python Les paramètres définis dans la tâche sont passés en tant qu’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 en tant qu’arguments positionnels ou analysés à l’aide du module argparse dans Python.
Roue Python Les paramètres définis dans la définition de tâche sont passés en tant qu’arguments de mot clé à votre code. Vos fichiers de roue Python 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. Passez-les comme arguments de mot-clé dans votre script. Pour voir un exemple de lecture d’arguments dans un script Python empaqueté dans un fichier roue Python, consultez utiliser un fichier roue Python dans les jobs Lakeflow.
SQL Vous pouvez utiliser des références de valeurs dynamiques dans la configuration de votre tâche. Utilisez des paramètres nommés pour accéder aux valeurs des paramètres.
Pipeline Les pipelines ne prennent pas en charge le passage de paramètres à la tâche. Non pris en charge.
Tableau de bord Les tâches de tableau de bord ne prennent pas en charge le passage de paramètres à la tâche. Non pris en charge.
Power BI Les tâches Power BI ne prennent pas en charge le passage de paramètres. Non pris en charge.
dbt Vous pouvez utiliser des références de valeurs dynamiques pour passer des paramètres sous forme de commandes dbt lors de la configuration de votre tâche. Accès en tant que commandes dbt.
JARRE Vous pouvez utiliser des références de valeur dynamique pour passer des paramètres en tant qu’arguments dans la zone de texte Paramètres lors de la configuration de votre tâche. Les paramètres sont accessibles en tant qu’arguments à la méthode principale de la classe principale.
Soumettre Spark Vous pouvez utiliser des références de valeur dynamique pour passer des paramètres en tant qu’arguments dans la zone de texte Paramètres lors de la configuration de votre tâche. Les paramètres sont accessibles en tant qu’arguments à la méthode principale de la classe principale.
Exécuter le travail Vous pouvez utiliser des références de valeur dynamique pour créer un ensemble de paramètres de travail 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 valeurs dynamiques lors de la configuration de votre tâche, par exemple dans la condition. Non applicable.
For each 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 paramètres d’accès aux tâches imbriquées, en fonction du type de tâche.
Bloc-notes de salle propre Vous pouvez utiliser des références de valeurs dynamiques dans l’interface utilisateur Azure Databricks pour configurer le notebook (par exemple, pour faire référence aux paramètres de travail dans les valeurs des paramètres de tâche). Vous pouvez utiliser des paramètres nommés pour SQL dans votre bloc-notes ou dbutils.widgets dans votre code.