Transformer des données avec des 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 !

Si vous débutez avec Azure Data Factory, consultez Présentation d’Azure Data Factory.

Dans ce tutoriel, vous allez utiliser l’interface utilisateur Azure Data Factory pour créer un pipeline qui copie et transforme des données d’une source Azure Data Lake Storage (ADLS) Gen2 en récepteur ADLS Gen2 à l’aide d’un flux de données de mappage. Le modèle de configuration utilisé dans ce tutoriel peut être développé lors d’une transformation de données à l’aide d’un flux de données de mappage.

Notes

Ce didacticiel est conçu pour le mappage des flux de données en général. Les flux de données sont disponibles à la fois dans Azure Data Factory et Synapse Pipelines. Si vous ne connaissez pas les flux de données dans Azure Synapse Pipelines, consultez Flux de données avec Azure Synapse Pipelines

Dans ce tutoriel, vous effectuez les étapes suivantes :

  • Créer une fabrique de données.
  • Créer un pipeline avec une activité de flux de données.
  • Générer un flux de données de mappage avec quatre transformations.
  • Effectuer une série de tests sur le pipeline.
  • Superviser une activité de flux de données.

Prérequis

  • Abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte Azure gratuit avant de commencer.
  • Compte Azure Storage. Vous utilisez le stockage ADLS comme magasins de données source et récepteur. Si vous ne possédez pas de compte de stockage, consultez l’article Créer un compte de stockage Azure pour découvrir comment en créer un.

Le fichier que nous transformons dans ce tutoriel est MoviesDB.csv, qui se trouve ici. Pour récupérer le fichier à partir de GitHub, copiez le contenu dans l’éditeur de texte de votre choix pour l’enregistrer localement sous la forme d’un fichier .csv. Pour charger le fichier dans votre compte de stockage, consultez Chargement d’objets blob avec le Portail Azure. Les exemples feront référence à un conteneur nommé « sample-data ».

Créer une fabrique de données

Au cours de cette étape, vous allez créer une fabrique de données et ouvrir l’interface utilisateur de Data Factory afin de créer un pipeline dans la fabrique de données.

  1. Ouvrez Microsoft Edge ou Google Chrome. L’interface utilisateur de Data Factory n’est actuellement prise en charge que par les navigateurs web Microsoft Edge et Google Chrome.

  2. Dans le menu de gauche, sélectionnez Créer une ressource>Intégration>Data Factory :

    Data Factory selection in the "New" pane

  3. Sur la page Nouvelle fabrique de données, entrez ADFTutorialDataFactory dans le champ Nom.

    Le nom de la fabrique de données Azure doit être un nom global unique. Si vous recevez un message d’erreur concernant la valeur du nom, saisissez un autre nom pour la fabrique de données. (par exemple, yournameADFTutorialDataFactory). Consultez l’article Azure Data Factory - Règles d’affectation des noms pour savoir comment nommer les règles Data Factory.

    New data factory error message for duplicate name.

  4. Sélectionnez l’abonnement Azure dans lequel vous voulez créer la fabrique de données.

  5. Pour Groupe de ressources, réalisez l’une des opérations suivantes :

    a. Sélectionnez Utiliser l’existant, puis sélectionnez un groupe de ressources existant dans la liste déroulante.

    b. Sélectionnez Créer, puis entrez le nom d’un groupe de ressources.

    Pour plus d’informations sur les groupes de ressources, consultez Utilisation des groupes de ressources pour gérer vos ressources Azure.

  6. Sous Version, sélectionnez V2.

  7. Sous Emplacement, sélectionnez l’emplacement de la fabrique de données. Seuls les emplacements pris en charge sont affichés dans la liste déroulante. Les magasins de données (comme le Stockage Azure et SQL Database) et les services de calcul (comme Azure HDInsight) utilisés par la fabrique de données peuvent se trouver dans d’autres régions.

  8. Sélectionnez Create (Créer).

  9. Une fois la création terminée, vous voyez apparaître l’avis dans le centre de notifications. Sélectionnez Accéder à la ressource pour accéder à la page de la fabrique de données.

  10. Sélectionnez Créer et surveiller pour lancer l’interface utilisateur de Data Factory dans un onglet séparé.

Créer un pipeline avec une activité de flux de données

Au cours de cette étape, vous allez créer un pipeline qui contient une activité de flux de données.

  1. Dans la page d’accueil Azure Data Factory, sélectionnez Orchestrer.

    Screenshot that shows the ADF home page.

  2. Sous l’onglet Général du pipeline, entrez TransformMovies comme Nom du pipeline.

  3. Dans le volet Activités, développez la section Déplacer et transformer. Faites glisser et déposez l’activité Flux de données à partir du volet vers le canevas du pipeline.

    Screenshot that shows the pipeline canvas where you can drop the Data Flow activity.

  4. Dans la fenêtre contextuelle Ajout de flux de données, sélectionnez Créer un flux de données, puis nommez votre flux de données TransformMovies. Une fois que vous avez fini, cliquez sur Terminer.

    Screenshot that shows where you name your data flow when you create a new data flow.

  5. Dans la barre supérieure du canevas du pipeline, faites glisser le curseur Débogage du flux de données pour l’activer. Le mode de débogage permet un test interactif de la logique de transformation sur un cluster Spark activé. Le préchauffage des clusters de flux de données nécessite 5 à 7 minutes et il est recommandé aux utilisateurs d’activer d’abord le débogage s’ils envisagent d’effectuer un développement de flux de données. Pour plus d’informations, consultez Mode de débogage.

    Data Flow Activity

Générer une logique de transformation dans le canevas de flux de données

Une fois que vous avez créé votre flux de données, vous êtes automatiquement envoyé vers le canevas de flux de données. Si vous n’êtes pas redirigé vers le canevas du flux de données, dans le panneau sous le canevas, accédez à Paramètres et sélectionnez Ouvrir à côté du champ flux de données. Cela ouvre le canevas du flux de données.

Screenshot showing how to open the data flow editor from the pipeline editor.

Au cours de cette étape, vous allez créer un flux de données qui prend le fichier MoviesDB.csv dans le stockage ADLS et qui agrège l’évaluation moyenne des comédies de 1910 à 2000. Vous réécrirez ensuite ce fichier dans le stockage ADLS.

  1. Dans le canevas de flux de données, ajoutez une source en cliquant sur la zone Ajouter une source.

    Screenshot that shows the Add Source box.

  2. Nommez votre source MoviesDB. Cliquez sur Nouveau pour créer un jeu de données source.

    Screenshot that shows where you select New after you name your source.

  3. Choisissez Azure Data Lake Storage Gen2. Cliquez sur Continuer.

    Screenshot that shows where is the Azure Data Lake Storage Gen2 tile.

  4. Choisissez DelimitedText. Cliquez sur Continuer.

    Screenshot that shows the DelimitedText tile.

  5. Nommez votre jeu de données MoviesDB. Dans la liste déroulante des services liés, choisissez Nouveau.

    Screenshot that shows the Linked service dropdown list.

  6. Dans l’écran de création de service lié, nommez votre service lié ADLS Gen2 ADLSGen2, puis spécifiez votre méthode d’authentification. Entrez ensuite vos informations d’identification de connexion. Dans ce tutoriel, nous utilisons une clé de compte pour nous connecter à notre compte de stockage. Vous pouvez cliquer sur Tester la connexion pour vérifier que vos informations d’identification ont été entrées correctement. Une fois que vous avez fini, cliquez sur Créer.

    Linked Service

  7. Une fois de retour dans l’écran de création du jeu de données, entrez l’emplacement de votre fichier sous le champ Chemin du fichier. Dans ce tutoriel, le fichier MoviesDB.csv se trouve dans le conteneur sample-data. Étant donné que le fichier contient des en-têtes, cochez Première ligne comme en-tête. Sélectionnez À partir de la connexion/du magasin pour importer le schéma d’en-tête directement à partir du fichier situé dans le stockage. Une fois l’opération terminée, cliquez sur OK.

    Datasets

  8. Si votre cluster de débogage a démarré, accédez à l’onglet Aperçu des données de la transformation de la source, puis cliquez sur Actualiser pour obtenir une capture instantanée des données. Vous pouvez utiliser l’aperçu des données pour vérifier que votre transformation est correctement configurée.

    Screenshot that shows where you can preview your data to verify your transformation is configured correctly.

  9. En regard de votre nœud source dans le canevas de flux de données, cliquez sur l’icône plus (+) pour ajouter une nouvelle transformation. La première transformation que vous ajoutez est un Filtre.

    Data Flow Canvas

  10. Nommez votre transformation de filtre FilterYears. Cliquez sur la zone d’expression en regard de Filtrer sur pour ouvrir le générateur d’expressions. Ici, vous allez spécifier votre condition de filtrage.

    Screenshot that shows the Filter on expression box.

  11. Le générateur d’expressions de flux de données vous permet de générer de manière interactive des expressions à utiliser dans diverses transformations. Les expressions peuvent inclure des fonctions intégrées, des colonnes du schéma d’entrée et des paramètres définis par l’utilisateur. Pour plus d’informations sur la génération d’expressions, consultez Générateur d’expressions de flux de données.

    Dans ce tutoriel, vous voulez filtrer les films du genre comédie qui sont sortis entre 1910 et 2000. Comme l’année est actuellement une chaîne, vous devez la convertir en un entier à l’aide de la fonction toInteger(). Utilisez les opérateurs supérieur ou égal à (>=) et inférieur ou égal à (<=) pour effectuer une comparaison avec les valeurs d’années (year) littérales 1910 et 2000. Unissez ces expressions avec l’opérateur And (&&). L’expression se présente comme suit :

    toInteger(year) >= 1910 && toInteger(year) <= 2000

    Pour rechercher les films qui sont des comédies, vous pouvez utiliser la fonction rlike() pour rechercher le modèle « Comedy » dans la colonne genres. Unissez l’expression rlike avec la comparaison d’année (year) pour obtenir :

    toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    Si vous avez un cluster de débogage actif, vous pouvez vérifier votre logique en cliquant sur Actualiser pour afficher la sortie de l’expression par rapport aux entrées utilisées. Il y a plusieurs réponses appropriées sur la façon dont vous pouvez accomplir cette logique à l’aide du langage d’expression de flux de données.

    Filter

    Cliquez sur Enregistrer et terminer une fois que vous en avez terminé avec votre expression.

  12. Pour vérifier que le filtre fonctionne correctement, récupérez un Aperçu des données.

    Screenshot that shows the Data Preview that you fetched.

  13. La transformation suivante que vous allez ajouter est une transformation Agrégation sous Modificateur de schéma.

    Screenshot that shows the Aggregate schema modifier.

  14. Nommez votre transformation d’agrégation AggregateComedyRatings. Sous l’onglet Grouper par, sélectionnez year (année) dans la liste déroulante pour regrouper les agrégations par année de sortie des films.

    Screenshot that shows the year option in the Group by tab under Aggregate Settings.

  15. Accédez à l’onglet Agrégats. Dans la zone de texte de gauche, nommez la colonne d’agrégation AverageComedyRating. Cliquez sur la zone d’expression de droite pour entrer l’expression d’agrégation par le biais du générateur d’expressions.

    Screenshot that shows the year option in the Aggregates tab under Aggregate Settings.

  16. Pour afficher la moyenne de la colonne Évaluation, utilisez la fonction d’agrégation avg(). Comme Évaluation est une chaîne et que avg() prend une entrée numérique, nous devons convertir la valeur en nombre à l’aide de la fonction toInteger(). Voici comment se présente l’expression :

    avg(toInteger(Rating))

    Quand vous avez terminé, cliquez sur Enregistrer et terminer.

    Screenshot that shows the saved expression.

  17. Accédez à l’onglet Aperçu des données pour afficher la sortie de la transformation. Notez que seules deux colonnes sont affichées : year et AverageComedyRating.

    Aggregate

  18. Ensuite, vous voulez ajouter une transformation Récepteur sous Destination.

    Screenshot that shows where to add a sink transformation under Destination.

  19. Nommez votre récepteur Sink. Cliquez sur Nouveau pour créer votre jeu de données récepteur.

    Screenshot that shows where you can name your sink and create a new sink dataset.

  20. Choisissez Azure Data Lake Storage Gen2. Cliquez sur Continuer.

    Screenshot that shows the Azure Data Lake Storage Gen2 tile you can choose.

  21. Choisissez DelimitedText. Cliquez sur Continuer.

    Dataset

  22. Nommez votre jeu de données récepteur MoviesSink. Pour le service lié, choisissez le service lié ADLS Gen2 que vous avez créé à l’étape 6. Entrez un dossier de sortie dans lequel écrire vos données. Dans ce tutoriel, nous écrivons dans le dossier « output » se trouvant dans le conteneur « sample-data ». Le dossier ne doit pas nécessairement exister au préalable et peut être créé de façon dynamique. Activez Première ligne comme en-tête, puis sélectionnez Aucun pour Importer un schéma. Cliquez sur Finish.

    Sink

Vous avez terminé la génération de votre flux de données. Vous êtes prêt à l’exécuter dans votre pipeline.

Exécution et supervision du flux de données

Vous pouvez déboguer un pipeline avant de le publier. Au cours de cette étape, vous allez déclencher une exécution de débogage du pipeline de flux de données. Alors que l’aperçu des données n’écrit pas de données, une exécution de débogage écrit des données dans la destination de votre récepteur.

  1. Accédez au canevas du pipeline. Cliquez sur Déboguer pour déclencher une exécution de débogage.

    Screenshot that shows the pipeline canvas with Debug highlighted.

  2. Le débogage de pipeline des activités de flux de données utilise le cluster de débogage actif, mais son initialisation prend toujours au moins une minute. Vous pouvez suivre la progression par le biais de l’onglet Sortie. Une fois l’exécution réussie, cliquez sur l’icône en forme de lunettes pour ouvrir le volet de supervision.

    Pipeline

  3. Dans le volet de supervision, vous pouvez voir le nombre de lignes et de temps passé dans chaque étape de transformation.

    Screenshot that shows the monitoring pane where you can see the number of rows and time spent in each transformation step.

  4. Cliquez sur une transformation pour obtenir des informations détaillées sur les colonnes et le partitionnement des données.

    Monitoring

Si vous avez suivi ce tutoriel correctement, vous devez avoir écrit 83 lignes et 2 colonnes dans votre dossier récepteur. Vous pouvez vérifier que les données sont correctes en vérifiant votre stockage d’objets blob.

Dans ce tutoriel, le pipeline exécute un flux de données qui agrège l’évaluation moyenne des comédies de 1910 à 2000 et qui écrit les données dans ADLS. Vous avez appris à :

  • Créer une fabrique de données.
  • Créer un pipeline avec une activité de flux de données.
  • Générer un flux de données de mappage avec quatre transformations.
  • Effectuer une série de tests sur le pipeline.
  • Superviser une activité de flux de données.

En savoir plus sur le langage d’expression de flux de données.