Partager via


Module 2 : Transformer des données avec un dataflow dans Data Factory

Ce module prend environ 25 minutes. Vous créez un dataflow, appliquez des transformations et déplacez les données brutes de la table de couche de données bronze dans une table de couche de données gold .

Avec les données brutes chargées dans votre table bronze Lakehouse à partir du dernier module, vous pouvez maintenant les enrichir. Vous la combinerez avec une autre table qui contient des remises pour chaque vendeur et leurs trajets lors d'une journée particulière. Ensuite, cette table finale Lakehouse en or est chargée et prête à être consommée.

Les étapes générales du flux de données sont les suivantes :

Conditions préalables

Module 1 de cette série de tutoriels : Créer un pipeline avec Data Factory

Obtenir des données à partir d’une table Lakehouse

  1. Dans la barre latérale, sélectionnez votre espace de travail, sélectionnez Nouvel élément, puis Dataflow Gen2 pour créer un dataflow Gen2.

    Capture d’écran montrant la page Fabric Create avec le bouton Dataflow Gen2 mis en surbrillance.

  2. Dans le nouveau menu dataflow, sélectionnez Obtenir des données, puis Plus....

    Capture d’écran montrant le menu Dataflow avec le bouton Obtenir des données mis en surbrillance et l'option Plus... en surbrillance à partir de son menu.

  3. Recherchez et sélectionnez le connecteur Lakehouse .

    Capture d’écran montrant la sélection de la source de données Lakehouse dans le menu Choisir une source de données.

  4. La boîte de dialogue Se connecter à la source de données s’affiche et une nouvelle connexion est créée automatiquement pour vous en fonction de l’utilisateur actuellement connecté. Cliquez sur Suivant.

    Capture d’écran montrant la configuration des paramètres de la source de données de votre nouveau Lakehouse avec votre utilisateur connecté actuel et le bouton Suivant sélectionné.

  5. La boîte de dialogue Choisir des données s’affiche. Utilisez le volet de navigation pour rechercher le Lakehouse que vous avez créé pour la destination dans le module précédent, puis sélectionnez la table de données Tutorial_Lakehouse . Sélectionnez ensuite Créer.

    Capture d’écran montrant le navigateur Lakehouse avec l'espace de travail, le Lakehouse, et la table créés avec l’activité de copie dans le module 1.

  6. (Facultatif) Une fois que votre canevas est rempli avec les données, vous pouvez définir des informations de profil de colonne , car cela est utile pour le profilage des données. Vous pouvez appliquer la transformation appropriée et cibler les valeurs de données appropriées en fonction de celle-ci.

    Pour ce faire, sélectionnez Options dans le volet du ruban, puis sélectionnez les trois premières options sous Profil de colonne, puis sélectionnez OK.

    Capture d’écran montrant la sélection des options de colonne pour vos données.

Transformer les données importées à partir de Lakehouse

  1. Sélectionnez l’icône de type de données dans l’en-tête de colonne de la deuxième colonne, IpepPickupDatetime, pour afficher un menu déroulant et sélectionner le type de données dans le menu pour convertir la colonne du type Date/Heure en Date .

    Capture d’écran montrant la sélection du type de données Date pour la colonne IpepPickupDatetime.

  2. (Facultatif) Sous l’onglet Accueil du ruban, sélectionnez l’option Choisir des colonnes dans le groupe Gérer les colonnes .

    Capture d’écran montrant le bouton Choisir des colonnes sous l’onglet Accueil de l’éditeur de flux de données.

  3. (Facultatif) Dans la boîte de dialogue Choisir des colonnes , désélectionnez certaines colonnes répertoriées ici, puis sélectionnez OK.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • longitudeDépose
    • rateCodeID

    Capture d’écran montrant la boîte de dialogue Choisir des colonnes avec les colonnes identifiées désélectionnées.

  4. Sélectionnez le filtre et le menu déroulant de tri de la colonne storeAndFwdFlag . (Si vous voyez une liste d’avertissements peut être incomplète, sélectionnez Charger plus pour afficher toutes les données.)

    Capture d’écran montrant la boîte de dialogue de filtrage et de tri pour la colonne.

  5. Sélectionnez « Y » pour afficher uniquement les lignes où une remise a été appliquée, puis sélectionnez OK.

    Capture d’écran montrant le filtre de valeurs avec uniquement « Y » sélectionné.

  6. Sélectionnez le menu déroulant Trier et filtrer de la colonne IpepPickupDatetime, puis sélectionnez Filtres Date, et choisissez le filtre Between... applicable aux types Date et Date/Heure.

    Capture d’écran montrant la sélection de l’option Filtres date dans la liste déroulante tri et format de colonne.

  7. Dans la boîte de dialogue Filtrer les lignes , sélectionnez les dates entre le 1er janvier 2015 et le 31 janvier 2015, puis sélectionnez OK.

    Capture d’écran montrant la sélection des dates en janvier 2015.

Se connecter à un fichier CSV contenant des données de remise

Avec les données des voyages en place, nous voulons charger les données qui contiennent les remises respectives pour chaque jour et VendorID, et préparer les données avant de les combiner avec les données des voyages.

  1. Dans l’onglet Accueil du menu de l’éditeur de flux de données, sélectionnez l’option Obtenir les données , puis choisissez Texte/CSV.

    Capture d’écran montrant la sélection du menu Obtenir des données sous l’onglet Accueil, avec texte/CSV mis en surbrillance.

  2. Dans la boîte de dialogue Se connecter à la source de données , fournissez les détails suivants :

    • Chemin d’accès ou URL du fichier - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • Type d’authentification - Anonyme

    Ensuite, sélectionnez Suivant.

    Capture d’écran montrant les paramètres Text/CSV de la connexion.

  3. Dans la boîte de dialogue Aperçu des données de fichier , sélectionnez Créer.

    Capture d’écran montrant la boîte de dialogue Aperçu des données de fichier avec le bouton Créer mis en surbrillance.

Transformer les données de remise

  1. En examinant les données, nous voyons que les en-têtes apparaissent dans la première ligne. Définissez-les comme en-têtes en sélectionnant le menu contextuel du tableau dans la zone en haut à gauche de la grille d’aperçu et choisissez Utiliser la première ligne comme en-têtes.

    Capture d’écran montrant la sélection de la première ligne en tant qu’option d’en-têtes dans le menu contextuel du tableau.

    Remarque

    Après avoir promu les en-têtes, vous pouvez voir une nouvelle étape ajoutée au volet Étapes appliquées en haut de l’éditeur de flux de données aux types de données de vos colonnes.

  2. Cliquez avec le bouton droit de la souris sur la colonne VendorID, puis dans le menu contextuel affiché, sélectionnez l'option Dé-pivoter les autres colonnes. Cela vous permet de transformer des colonnes en paires attribut-valeur, où les colonnes deviennent des lignes.

    Capture d’écran montrant le menu contextuel de la colonne VendorID avec la sélection Annuler la sélection des autres colonnes mise en surbrillance.

  3. Avec la table non pivotée, renommez les colonnes Attribut et Valeur en double-cliquant dessus et en remplaçant l’attribut par Date et Valeur par Remise.

    Capture d’écran montrant les colonnes de tableau après avoir renommé Attribut en Date et Valeur à Remise.

  4. Modifiez le type de données de la colonne Date en sélectionnant le menu type de données à gauche du nom de la colonne et en choisissant Date.

    Capture d’écran montrant la sélection du type de données Date pour la colonne Date.

  5. Sélectionnez la colonne Remise , puis sélectionnez l’onglet Transformer dans le menu. Sélectionnez colonne Nombre, puis sélectionnez Transformations numériques standard dans le sous-menu, puis choisissez Diviser.

    Capture d’écran montrant la sélection de l’option Diviser pour transformer les données dans la colonne Remise.

  6. Dans la boîte de dialogue Diviser , entrez la valeur 100.

    Capture d’écran montrant la boîte de dialogue Diviser avec la valeur 100 entrée et le bouton OK mis en surbrillance.

Combiner les données des voyages et des remises

L’étape suivante consiste à combiner les deux tables en une seule table qui a la remise qui doit être appliquée au voyage et le total ajusté.

  1. Tout d’abord, activez le bouton Afficher le diagramme en bas à droite de la fenêtre, ce qui vous permet de voir les deux requêtes.

    Capture d’écran montrant le bouton de bascule de l'affichage diagramme avec les deux requêtes affichées créées dans ce didacticiel.

  2. Sélectionnez votre requête de données d’origine (dans notre exemple, son nom bronze), puis, sous l’onglet Accueil , sélectionnez le menu Combiner et choisissez Fusionner les requêtes, puis fusionnez les requêtes en tant que nouvelles.

    Capture d’écran montrant les requêtes de fusion comme nouvelle sélection pour la requête nyc_taxi.

  3. Dans la boîte de dialogue Fusionner, sélectionnez une fusion externe gauche, puis sélectionnez Generated-NYC-Taxi-Green-Discounts dans la liste déroulante de la table de droite pour la fusion, et ensuite sélectionnez l’icône « ampoule » en haut à droite de la boîte de dialogue pour afficher le mappage suggéré des colonnes entre les deux tables.

    Capture d’écran montrant la configuration de la boîte de dialogue Fusionner avec des mappages de colonnes suggérés affichés.

    Choisissez le mappage suggéré pour mapper les colonnes VendorID et date des deux tables. Lorsque les deux mappages sont ajoutés, les en-têtes de colonne correspondants sont mis en surbrillance dans chaque table.

  4. Un message s’affiche pour vous demander d’autoriser la combinaison de données provenant de plusieurs sources de données pour afficher les résultats. Sélectionnez OK dans la boîte de dialogue Fusionner .

    Capture d’écran montrant la demande d’approbation de la combinaison de données à partir de plusieurs sources de données, avec le bouton OK mis en surbrillance.

  5. Dans la zone de table, vous verrez initialement un avertissement indiquant que « Les informations sont requises pour la confidentialité des données ». Sélectionnez Continuer à traiter l’avertissement.

    Capture d’écran montrant l’avertissement sur la combinaison de données à partir de plusieurs sources de données avec le bouton Continuer mis en surbrillance.

  6. Pour ce tutoriel, sélectionnez Ignorer les niveaux de confidentialité pour ce document, car il s’agit d’exemples de données qui n’ont aucune information sensible. Pour vos propres sources de données, définissez les niveaux de confidentialité appropriés pour protéger vos données sensibles.

    Capture d’écran montrant le dialogue de niveau de confidentialité avec l’option Ignorer les niveaux de confidentialité sélectionnée.

  7. Cliquez sur Enregistrer.

  8. Notez comment une nouvelle requête a été créée en mode Diagramme montrant la relation de la nouvelle requête de fusion avec les deux requêtes que vous avez créées précédemment. En examinant le volet de table de l'éditeur, faites défiler vers la droite la liste des colonnes de la requête de fusion pour voir qu'une nouvelle colonne avec des valeurs de table est présente. Il s’agit de la colonne « Generated NYC Taxi-Green-Discounts », et son type est [Table]. Dans l’en-tête de colonne, il existe une icône avec deux flèches allant dans les directions opposées, ce qui vous permet de sélectionner des colonnes dans le tableau. Désélectionnez toutes les colonnes, à l'exception de la colonne Remise, puis sélectionnez OK.

    Capture d’écran montrant la requête fusionnée avec le menu de sélection de colonne affiché pour la colonne nouvellement générée Generated-NYC-Taxi-Green-Discounts.

  9. Avec la valeur de remise maintenant au niveau de la ligne, nous pouvons créer une colonne pour calculer le montant total après remise. Pour ce faire, sélectionnez l’onglet Ajouter une colonne en haut de l’éditeur, puis choisissez Colonne personnalisée dans le groupe Général .

    Capture d’écran montrant le bouton Ajouter une colonne personnalisée mis en surbrillance dans la section Général de l’onglet Ajouter une colonne.

  10. Dans la boîte de dialogue Colonne personnalisée , vous pouvez utiliser le langage de formule Power Query (également appelé M) pour définir la façon dont votre nouvelle colonne doit être calculée. Entrez TotalAfterDiscount pour le nouveau nom de colonne, sélectionnez Devise pour le type de données et fournissez l’expression M suivante pour la formule de colonne personnalisée :

    si [totalAmount] > 0 alors [totalAmount] * ( 1 -[Discount] ) sinon [totalAmount]

    Ensuite, sélectionnez OK.

    Capture d’écran montrant l’écran de configuration de colonne personnalisée avec le nouveau nom de colonne, le type de données et la formule de colonne personnalisée mise en surbrillance.

  11. Sélectionnez la nouvelle colonne TotalAfterDiscount , puis sélectionnez l’onglet Transformer en haut de la fenêtre de l’éditeur. Dans le groupe Colonne Nombre, sélectionnez le menu déroulant Arrondi, puis choisissez Arrondi....

    Capture d’écran montrant l’option

  12. Dans la boîte de dialogue Arrondi, entrez 2 pour le nombre de décimales, puis sélectionnez OK.

    Capture d’écran montrant la boîte de dialogue Arrondi avec 2 pour le nombre de décimales et le bouton OK mis en surbrillance.

  13. Modifiez le type de données de l’IpepPickupDatetime de Date à Date/Heure.

    Capture d’écran montrant la sélection du type de données Date/Heure de la colonne IpepPickupDatetime.

  14. Enfin, développez le volet Paramètres de requête à partir du côté droit de l’éditeur s’il n’est pas déjà développé et renommez la requête de Merge to Output.

    Capture d’écran montrant le changement de nom de la requête de « Fusion » à « Sortie ».

Charger la requête de sortie dans une table dans Lakehouse

Avec la requête de sortie maintenant entièrement préparée et avec les données prêtes à la sortie, nous pouvons définir la destination de sortie de la requête.

  1. Sélectionnez la requête de fusion de sortie créée précédemment. Sélectionnez ensuite l’onglet Accueil dans l’éditeur, puis ajoutez la destination des données à partir du regroupement de requêtes pour sélectionner une destination Lakehouse .

    Capture d’écran montrant le bouton Ajouter une destination de données avec Lakehouse mis en surbrillance.

  2. Dans la boîte de dialogue Se connecter à la destination des données , votre connexion doit déjà être sélectionnée. Sélectionnez Suivant pour continuer.

  3. Dans la boîte de dialogue Choisir la cible de destination , accédez à Lakehouse où vous souhaitez charger les données et nommer la nouvelle table nyc_taxi_with_discounts, puis sélectionnez Suivant à nouveau.

    Capture d’écran montrant la boîte de dialogue Choisir la cible de destination avec le nom de la table nyc_taxi_with_discounts.

  4. Dans la boîte de dialogue Choisir les paramètres de destination , vous pouvez utiliser les paramètres automatiques ou désélectionner les paramètres automatiques et laisser la méthode de mise à jour replace par défaut, vérifier que vos colonnes sont mappées correctement, puis sélectionner Enregistrer les paramètres.

    Capture d’écran montrant la boîte de dialogue Choisir les paramètres de destination avec le bouton Enregistrer les paramètres mis en surbrillance.

  5. Dans la fenêtre de l’éditeur principal, vérifiez que vous voyez votre destination de sortie dans le volet Paramètres de requête de la table Sortie sous Destination des données, puis sélectionnez Enregistrer*.

    Important

    Lorsque le premier Dataflow Gen2 est créé dans un espace de travail, les éléments lakehouse et entrepôt sont approvisionnés, ainsi que leur point de terminaison d’analytique SQL et leurs modèles sémantiques associés. Ces éléments sont partagés par tous les flux de données de l’espace de travail et sont requis pour que Dataflow Gen2 fonctionne. Ils ne doivent pas être supprimés et ne doivent pas être utilisés directement par les utilisateurs. Les éléments sont un détail d’implémentation de Dataflow Gen2. Les éléments ne sont pas visibles dans l’espace de travail, mais peuvent être accessibles dans d’autres expériences telles que les expériences notebook, point de terminaison SQL, lakehouse et entrepôt. Vous pouvez reconnaître les éléments par leur préfixe dans le nom. Le préfixe des éléments est « DataflowsStaging ».

  6. (Facultatif) Dans la page de l’espace de travail, vous pouvez renommer votre dataflow en sélectionnant les points de suspension à droite du nom du flux de données qui s’affiche après avoir sélectionné la ligne, puis en choisissant Paramètres. Dans cet exemple, nous le renommons en nyc_taxi_with_discounts.

    Capture d’écran montrant l’option Propriétés sélectionnée dans le menu d’un dataflow où elle peut être renommée.

  7. Sélectionnez l’icône d’actualisation du flux de données sous les points de suspension Autres options , puis, une fois terminé, vous devez voir votre nouvelle table Lakehouse créée comme configurée dans les paramètres de destination des données .

    Capture d’écran montrant la sélection du bouton Actualiser pour actualiser le flux de données.

  8. Vérifiez votre Lakehouse pour afficher la nouvelle table chargée là-bas.

Étape suivante

Passez à la section suivante pour intégrer votre pipeline de données.