Partager via


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

Surrogate Key Transform

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.

Surrogate Key lookup

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>.

Surrogate Key Query

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 :

Surrogate Key File

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

Surrogate Key Transform

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

Ces exemples utilisent les transformations Joindre et Colonne dérivée.