Transformation de fractionnement conditionnel dans un 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.

La transformation de fractionnement conditionnel route les lignes de données vers différents flux en fonction de conditions de correspondance. La transformation de fractionnement conditionnel est similaire à une structure de décision CASE dans un langage de programmation. La transformation évalue les expressions, et selon les résultats, dirige la ligne de données vers le flux spécifié.

Configuration

Le paramètre SplitOn détermine si la ligne de données est acheminée vers le premier flux correspondant ou vers chaque flux auquel elle correspond.

Utilisez le générateur d’expressions de flux de données afin d’entrer une expression pour la condition de fractionnement. Pour ajouter une nouvelle condition, cliquez sur l’icône plus dans une ligne existante. Vous pouvez également ajouter un flux par défaut pour les lignes qui ne correspondent à aucune condition.

Shows the Conditional Split UI with selections as described above.

Script de flux de données

Syntaxe

<incomingStream>
    split(
        <conditionalExpression1>
        <conditionalExpression2>
        ...
        disjoint: {true | false}
    ) ~> <splitTx>@(stream1, stream2, ..., <defaultStream>)

Exemple

L’exemple ci-dessous illustre une transformation de fractionnement conditionnel nommée SplitByYear traitant le flux entrant CleanData. Cette transformation a deux conditions de fractionnement : year < 1960 et year > 1980. disjoint est false, car les données vont à la première condition de correspondance plutôt qu’à toutes les conditions de correspondance. Chaque ligne correspondant à la première condition est acheminée vers le flux de sortie moviesBefore1960. Toutes les lignes restantes correspondant à la deuxième condition sont acheminées vers le flux de sortie moviesAFter1980. Toutes les autres lignes sont acheminées vers le flux par défaut AllOtherMovies.

Dans l’interface utilisateur du service, cette transformation se présente comme sur l’image ci-dessous :

Shows the Conditional Split UI with selections as described above.

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

CleanData
    split(
        year < 1960,
	    year > 1980,
	    disjoint: false
    ) ~> SplitByYear@(moviesBefore1960, moviesAfter1980, AllOtherMovies)

Les transformations de flux de données courantes utilisées avec le fractionnement conditionnel sont la transformation de jointure, la transformation de recherche et la transformation de sélection.