Paramétrage de flux de données de mappage

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Les flux de données de mappage dans les pipelines Azure Data Factory et Synapse prennent en charge l’utilisation de paramètres. Définissez des paramètres dans votre définition de flux de données, et utilisez-les dans vos expressions. Les valeurs de paramètre sont définies par le pipeline appelant via l’activité d’exécution de flux de données. Vous disposez de trois options pour définir les valeurs dans les expressions d’activité de flux de données :

  • Utiliser le langage d’expression de flux de contrôle de pipeline pour définir une valeur dynamique
  • Utiliser le langage d’expression de flux de données pour définir une valeur dynamique
  • Utiliser un langage d’expression pour définir une valeur littérale statique

Utilisez cette fonctionnalité pour rendre vos flux de données polyvalents, flexibles et réutilisables. Vous pouvez définir les paramètres de flux de données et les expressions à l’aide de ces paramètres.

Créer des paramètres dans un flux de données de mappage

Pour ajouter des paramètres à votre flux de données, cliquez sur la partie vide du canevas de celui-ci afin d’accéder aux propriétés générales. Dans le volet des paramètres, vous voyez un onglet nommé Paramètre. Sélectionnez Nouveau pour générer un nouveau paramètre. Pour chaque paramètre, vous devez attribuer un nom, sélectionner un type et éventuellement définir une valeur par défaut.

Screenshot of create Data Flow parameters.

Utiliser des paramètres dans un flux de données de mappage

Des paramètres peuvent être référencés dans toute expression de flux de données. Les paramètres commencent par $ et sont immuables. Vous trouverez la liste des paramètres disponibles dans le Générateur d’expressions sous l’onglet Paramètres.

Screenshot shows the available parameters in the Parameters tab.

Vous pouvez ajouter rapidement des paramètres supplémentaires en sélectionnant Nouveau paramètre et en spécifiant le nom et le type.

Screenshot shows the parameters in the Parameters tab with new parameters added.

Utilisation de services liés paramétrés dans un flux de données de mappage

Les services liés paramétrés peuvent être utilisés dans un flux de données de mappage (pour les types de source de jeu de données ou inline).

Pour le type de source inline, les paramètres du service lié sont exposés dans les paramètres d’activité du flux de données dans le pipeline, comme indiqué ci-dessous.

Screenshot shows the use of linked service parameters in the data flow.

Pour le type de source de jeu de données, les paramètres du service lié sont exposés directement dans la configuration du jeu de données.

Assigner des valeurs de paramètre à partir d’un pipeline

Une fois que vous avez créé votre flux de données avec des paramètres, vous pouvez l’exécuter à partir d’un pipeline avec l’activité d’exécution de flux de données. Après avoir ajouté l’activité à votre canevas de pipeline, les paramètres de flux de données disponibles vous sont présentés dans l’onglet Paramètres de l’activité.

Quand vous affectez des valeurs de paramètre, vous pouvez utiliser le langage d’expression de pipeline ou le langage d’expression de flux de données en fonction des types Spark. Chaque flux de données de mappage peut comporter n’importe quelle combinaison de paramètres d’expression de pipeline et de flux de données.

Screenshot shows the Parameters tab with Data Flow expression selected for the value of myparam.

Paramètres d’expression de pipeline

Les paramètres d’expression de pipeline vous permettent de référencer des variables système, des fonctions, des paramètres de pipeline et des variables similaires à d’autres activités de pipeline. Quand vous cliquez sur Pipeline expression (Expression de pipeline), un volet de navigation s’ouvre sur le côté pour vous permettre d’entrer une expression à l’aide du Générateur d’expressions.

Screenshot shows the expression builder pane.

Une fois référencés, les paramètres de pipeline sont évalués, puis leur valeur est utilisée dans le langage d’expression de flux de données. Le type d’expression de pipeline n’a pas besoin de correspondre au type de paramètre de flux de données.

Littéraux de chaîne et expressions

Quand vous affectez un paramètre d’expression de pipeline de type chaîne, par défaut, des guillemets sont ajoutés, et la valeur est évaluée en tant que littéral. Pour lire la valeur de paramètre en tant qu’expression de flux de données, cochez la zone d’expression à côté du paramètre.

Screenshot shows the Data flow parameters pane Expression selected for a parameter.

Si le paramètre de flux de données stringParam référence un paramètre de pipeline avec la valeur upper(column1).

  • Si l’option expression est cochée, $stringParam prend la valeur de column1 en majuscules.
  • Si l’expression n’est pas cochée (le comportement par défaut), $stringParam prend la valeur 'upper(column1)'

Passage d’horodatages

Dans le langage d’expression de pipeline, les variables système telles que pipeline().TriggerTime et les fonctions telles que utcNow() retournent les horodatages sous forme de chaînes au format « aaaa-MM-jj'T'HH:mm:ss.SSSSSSZ ». Pour les convertir en paramètres de flux de données de type horodatage, utilisez l’interpolation de chaîne afin d’inclure l’horodatage souhaité dans une fonction toTimestamp(). Par exemple, pour convertir l’heure de déclenchement du pipeline en paramètre de flux de données, vous pouvez utiliser toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS').

Screenshot shows the Parameters tab where you can enter a trigger time.

Remarque

Les flux de données peuvent prendre en charge 3 millisecondes au maximum. La fonction left() est utilisée pour supprimer les chiffres supplémentaires.

Exemple de paramètre de pipeline

Vous avez un paramètre entier intParam qui référence un paramètre de pipeline de type String, @pipeline.parameters.pipelineParam.

Screenshot shows the Parameters tab with parameters named stringParam and intParam.

@pipeline.parameters.pipelineParam se voit affecter la valeur abs(1) au moment de l’exécution.

Screenshot shows the Parameters tab with the value of a b s (1) selected.

Quand $intParam est référencé dans une expression telle qu’une colonne dérivée, il évalue que abs(1) retourne 1.

Screenshot shows the columns value.

Paramètres d’expression de flux de données

Sélectionnez Data flow expression (Expression de flux de données) pour ouvrir le Générateur d’expressions de flux de données. Vous pourrez référencer des fonctions, d’autres paramètres et les colonnes du schéma défini dans votre flux de données. Cette expression est évaluée telle quelle quand elle est référencée.

Notes

Si vous passez une expression non valide ou si vous référencez une colonne de schéma qui n’existe pas dans cette transformation, le paramètre prend une valeur null.

Transmission d’un nom de colonne en tant que paramètre

Un modèle courant consiste à passer un nom de colonne en tant que valeur de paramètre. Si la colonne est définie dans le schéma de flux de données, vous pouvez la référencer directement en tant qu’expression de chaîne. Si la colonne n’est pas définie dans le schéma, utilisez la fonction byName(). Veillez à effectuer un cast de la colonne vers son type approprié à l’aide d’une fonction de conversion telle que toString().

Par exemple, si vous souhaitez mapper une colonne de chaîne basée sur un paramètre columnName, vous pouvez ajouter une transformation de colonne dérivée égale à toString(byName($columnName)).

Passing in a column name as a parameter

Remarque

Dans les expressions de flux de données, l’interpolation de chaîne (la substitution de variables à l’intérieur de la chaîne) n’est pas prise en charge. Au lieu de cela, concaténez l’expression en valeurs de chaîne. Par exemple, 'string part 1' + $variable + 'string part 2'