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.
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.
Vous pouvez ajouter rapidement des paramètres supplémentaires en sélectionnant Nouveau paramètre et en spécifiant le nom et le type.
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.
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.
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.
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.
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')
.
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
.
@pipeline.parameters.pipelineParam
se voit affecter la valeur abs(1)
au moment de l’exécution.
Quand $intParam
est référencé dans une expression telle qu’une colonne dérivée, il évalue que abs(1)
retourne 1
.
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))
.
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'