Transformation de clé de substitution dans le 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 sont disponibles à la fois dans les pipelines Azure Data Factory et Azure Synapse. Cet article s’applique aux flux de données de mappage. Si vous débutez dans le domaine des transformations, consultez l’article d’introduction Transformer des données avec un flux de données de mappage.
Utilisez la transformation de clé de substitution pour ajouter une valeur de clé incrémentielle à chaque ligne de données. Cette fonctionnalité est utile pour concevoir des tables de dimension dans un modèle de données analytiques suivant un schéma en étoile. Dans ce type de schéma, chacun des membres des tables de dimension a besoin d’une clé unique non commerciale.
Configuration
Colonne clé : nom de la colonne clé de substitution générée.
Valeur de début : la valeur de clé la plus faible qui sera générée.
Incrémenter les clés de sources existantes
Pour démarrer votre séquence à partir d’une valeur qui existe dans une source, nous vous recommandons d’utiliser un récepteur de cache pour enregistrer cette valeur et d’utiliser une transformation de colonne dérivée pour ajouter les deux valeurs ensemble. Utilisez une recherche mise en cache pour obtenir la sortie et l’ajouter à la clé générée. Pour plus d’informations, apprenez-en plus sur les récepteurs de cache et les recherches mises en cache.
Incrémentation à partir d’une valeur maximale existante
La technique à appliquer pour amorcer la valeur de clé avec la valeur maximale précédente dépend de l’emplacement des données sources.
Sources de base de données
Utilisez une option de requête SQL pour sélectionner MAX() à partir de votre source. Par exemple, Select MAX(<surrogateKeyName>) as maxval from <sourceTable>
.
Sources de fichiers
Si votre valeur maximale précédente se trouve dans un fichier, utilisez la fonction max()
dans la transformation d’agrégation pour la récupérer :
Dans les deux cas, vous devrez écrire dans un récepteur de cache et rechercher la valeur.
Script de flux de données
Syntaxe
<incomingStream>
keyGenerate(
output(<surrogateColumnName> as long),
startAt: <number>L
) ~> <surrogateKeyTransformationName>
Exemple
Le flux de données correspondant à la configuration de clé de substitution ci-dessus est présenté dans l’extrait de code suivant.
AggregateDayStats
keyGenerate(
output(key as long),
startAt: 1L
) ~> SurrogateKey1
Contenu connexe
Ces exemples utilisent les transformations Joindre et Colonne dérivée.