Transformation de colonne dérivée dans le mappage Data Flow

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 colonne dérivée pour générer de nouvelles colonnes dans votre flux de données ou pour modifier des champs existants.

Créer et mettre à jour des colonnes

Lors de la création d’une colonne dérivée, vous pouvez soit générer une nouvelle colonne, soit en mettre une à jour. Dans la zone de texte Colonne, entrez dans la colonne que vous êtes en train de créer. Pour remplacer une colonne existante dans votre schéma, vous pouvez utiliser la liste déroulante Colonne. Pour générer l’expression de la colonne dérivée, cliquez sur la zone de texte Entrer une expression. Vous pouvez soit commencer à entrer votre expression, soit ouvrir le générateur d’expressions pour construire votre logique.

Derived column settings

Pour ajouter des colonnes dérivées, cliquez sur Ajouter au-dessus de la liste des colonnes ou de l’icône « plus » en regard d’une colonne dérivée existante. Choisissez Ajouter une colonne ou Ajouter un modèle de colonne.

New derived column selection

Modèles de colonne

Dans les cas où votre schéma n’est pas explicitement défini ou si vous souhaitez mettre à jour un ensemble de colonnes en bloc, vous pouvez créer des modèles de colonne. Les modèles de colonne vous permettent de faire correspondre les colonnes à l’aide de règles basées sur les métadonnées de colonne et de créer des colonnes dérivées pour chaque colonne correspondante. Pour plus d’informations, consultez Comment générer des modèles de colonne dans la transformation de colonne dérivée.

Column patterns

Génération de schémas à l’aide du générateur d’expressions

Lors de l’utilisation du générateur d’expressions du flux de données de mappage, vous pouvez créer, modifier et gérer vos colonnes dérivées dans la section Colonnes dérivées. Toutes les colonnes créées ou modifiées dans la transformation sont répertoriées. Choisissez de manière interactive la colonne ou le modèle que vous modifiez en cliquant sur le nom de la colonne. Pour ajouter une colonne supplémentaire, sélectionnez Créer et choisissez si vous souhaitez ajouter une seule colonne ou un modèle.

Create new column

Lorsque vous travaillez avec des colonnes complexes, vous pouvez créer des sous-colonnes. Pour ce faire, cliquez sur l’icône « plus » en regard d’une colonne et sélectionnez Ajouter une sous-colonne. Pour plus d’informations sur la gestion des types complexes dans le flux de données, consultez Traitement JSON dans le flux de données de mappage.

Add subcolumn

Pour plus d’informations sur la gestion des types complexes dans le flux de données, consultez Traitement JSON dans le flux de données de mappage.

Add complex column

Script de flux de données

Syntaxe

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

Exemple

L’exemple ci-dessous est une colonne dérivée nommée CleanData qui prend un flux entrant MoviesYear et crée deux colonnes dérivées. La première colonne dérivée remplace la colonne Rating par la valeur de l’évaluation en tant que type entier. La deuxième colonne dérivée est un modèle qui correspond à chaque colonne dont le nom commence par « movies ». Pour chaque colonne correspondante, il crée une colonne movie qui est égale à la valeur de la colonne correspondante avec le préfixe « movie_ ».

Dans l’IU, cette transformation se présente comme dans l’image ci-dessous :

Derive example

Le script de flux de données pour cette transformation se trouve dans l’extrait de code ci-dessous :

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData