Transformation sécurisée des données à l’aide de 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 Data Factory pour créer un pipeline permettant de copier et de transformer des données d’une source Azure Data Lake Storage Gen2 à un récepteur Data Lake Storage Gen2 (tous deux n’autorisant l’accès qu’aux réseaux sélectionnés) à l’aide d’un flux de données de mappage sur le réseau virtuel managé Data Factory. Vous pouvez développer le modèle de configuration utilisé dans ce tutoriel lors de la transformation de données à l’aide du flux de données de mappage.

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 Data Lake Storage 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. Vérifiez que le compte de stockage autorise l’accès provenant des réseaux sélectionnés uniquement.

Le fichier que nous transformons dans ce tutoriel est moviesDB.csv, accessible sur ce site de contenu GitHub. 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. Actuellement, seuls les navigateurs web Microsoft Edge et Google Chrome prennent en charge l’interface utilisateur de Data Factory.

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

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

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

  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 :

    • Sélectionnez Utiliser l’existant, puis sélectionnez un groupe de ressources existant dans la liste déroulante.
    • 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 apparaissent dans la liste déroulante. Les magasins de données (comme Stockage Azure et Azure 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, la notification apparaît dans le centre de notifications. Sélectionnez Accéder à la ressource pour accéder à la page Data Factory.

  10. Sélectionnez Ouvrir Azure Data Factory Studio pour lancer l’interface utilisateur de Data Factory dans un onglet distinct.

Créer un runtime d’intégration Azure sur le réseau virtuel managé Data Factory

À cette étape, vous allez créer un runtime d’intégration Azure et activer le réseau virtuel managé Data Factory.

  1. Sur le portail Data Factory, accédez à Gérer et sélectionnez Nouveau pour créer un runtime d’intégration Azure.

    Screenshot that shows creating a new Azure IR.

  2. Dans la page Configuration du runtime d’intégration, choisissez le runtime d’intégration à créer en fonction des fonctionnalités nécessaires. Dans ce tutoriel, sélectionnez Azure, Auto-hébergé, puis cliquez sur Continuer.

  3. Sélectionnez Azure, puis cliquez sur Continuer pour créer un runtime d’intégration Azure.

    Screenshot that shows a new Azure IR.

  4. Sous Configuration de réseau virtuel (préversion) , sélectionnez Activer.

    Screenshot that shows enabling a new Azure IR.

  5. Sélectionnez Créer.

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 data factory home page with the Orchestrate button highlighted.

  2. Dans le volet Propriétés du pipeline, entrez TransformMovies comme nom du pipeline.

  3. Dans le volet Activités, développez Déplacer et transformer. Faites glisser l’activité Flux de données du volet jusqu’au canevas du pipeline.

  4. Dans la fenêtre contextuelle Ajout de flux de données, sélectionnez Créer un flux de données, puis Flux de données de mappage. Lorsque vous avez terminé, sélectionnez OK.

    Screenshot that shows Mapping Data Flow.

  5. Nommez votre flux de données TransformMovies dans le volet Propriétés.

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

    Screenshot that shows the Data flow debug slider.

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. Au cours de cette étape, vous allez créer un flux de données qui prend le fichier moviesDB.csv dans Data Lake Storage et agrège l’évaluation moyenne des comédies des années 1910 à 2000. Vous réécrirez ensuite ce fichier dans Data Lake Storage.

Ajout de la transformation de la source

À cette étape, vous allez configurer Data Lake Storage Gen2 comme source.

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

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

  3. Sélectionnez Azure Data Lake Storage Gen2, puis sélectionnez Continuer.

  4. Sélectionnez DelimitedText, puis sélectionnez Continuer.

  5. Nommez votre jeu de données MoviesDB. Dans la liste déroulante du service lié, sélectionnez Nouveau.

  6. Dans l’écran de création de service lié, nommez votre service lié Data Lake Storage 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.

  7. Veillez à activer Création interactive. L’activation peut prendre une minute.

    Screenshot that shows Interactive authoring.

  8. Sélectionnez Tester la connexion. Cela doit échouer, car le compte de stockage n’y autorise pas l’accès sans la création et l’approbation d’un point de terminaison privé. Le message d’erreur comporte un lien permettant de créer un point de terminaison privé. Vous pouvez le suivre pour créer un point de terminaison privé managé. Une autre possibilité pour le créer consiste à accéder directement à l’onglet Gérer et à suivre les instructions de cette section.

  9. Laissez la boîte de dialogue ouverte, puis accédez à votre compte de stockage.

  10. Suivez les instructions de cette section pour approuver la liaison privée.

  11. Revenez à la boîte de dialogue. Sélectionnez de nouveau Tester la connexion, puis sélectionnez Créer pour déployer le service lié.

  12. 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 la case 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. Lorsque vous avez terminé, sélectionnez OK.

    Screenshot that shows the source path.

  13. 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 sélectionnez Actualiser pour obtenir un instantané 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 the Data Preview tab.

Créer un point de terminaison privé managé

Si vous n’avez pas utilisé le lien hypertexte lorsque vous avez testé la connexion précédente, suivez le chemin. Vous devez maintenant créer un point de terminaison privé managé que vous connecterez au service lié créé.

  1. Accédez à l’onglet Gérer.

    Notes

    L’onglet Gérer n’est pas nécessairement disponible pour toutes les instances Data Factory. Si vous ne le voyez pas, vous pouvez accéder aux points de terminaison privés en sélectionnant Auteur>Connexions>Point de terminaison privé.

  2. Accédez à la section Points de terminaison privés managés.

  3. Sélectionnez + Nouveau sous Points de terminaison privés managés.

    Screenshot that shows the Managed private endpoints New button.

  4. Sélectionnez la vignette Azure Data Lake Storage Gen2 dans la liste, puis sélectionnez Continuer.

  5. Entrez le nom du compte de stockage que vous avez créé.

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

  7. Au bout de quelques secondes, la liaison privée créée indique qu’une approbation est nécessaire.

  8. Sélectionnez le point de terminaison privé que vous avez créé. Le lien hypertexte qui apparaît vous permet d’approuver le point de terminaison privé au niveau du compte de stockage.

    Screenshot that shows the Manage private endpoint pane.

  1. Dans la section Paramètres du compte de stockage, accédez à Connexions des points de terminaison privés.

  2. Cochez la case du point de terminaison privé que vous avez créé, puis sélectionnez Approuver.

    Screenshot that shows the private endpoint Approve button.

  3. Ajoutez une description, puis sélectionnez Oui.

  4. Revenez à la section Points de terminaison privés managés de l’onglet Gérer dans Data Factory.

  5. Après environ une minute, l’approbation doit s’afficher pour votre point de terminaison privé.

Ajout de la transformation de filtre

  1. À côté de votre nœud source dans le canevas de flux de données, sélectionnez l’icône plus (+) pour ajouter une nouvelle transformation. La première transformation que vous ajouterez est un filtre.

    Screenshot that shows adding a filter.

  2. Nommez votre transformation de filtre FilterYears. Sélectionnez la zone d’expression à côté de Filtrer sur pour ouvrir le générateur d’expressions. Ici, vous allez spécifier votre condition de filtrage.

    Screenshot that shows FilterYears.

  3. 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 les années 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 des genres. Ajoutez à l’expression rlike la comparaison d’année à 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 sélectionnant 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.

      Screenshot that shows the filter expression.

    • Sélectionnez Enregistrer et terminer une fois que vous en avez terminé avec votre expression.

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

    Screenshot that shows the filtered Data Preview.

Ajout de la transformation d’agrégation

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

    Screenshot that shows adding the aggregate.

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

    Screenshot that shows the aggregate group.

  3. Accédez à l’onglet Agrégats. Dans la zone de texte de gauche, nommez la colonne d’agrégation AverageComedyRating. Sélectionnez 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 aggregate column name.

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

  5. Sélectionnez Enregistrer et terminer une fois que vous avez terminé.

    Screenshot that shows saving the aggregate.

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

Ajout de la transformation du récepteur

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

    Screenshot that shows adding a sink.

  2. Nommez votre récepteur Sink. Sélectionnez Nouveau pour créer votre jeu de données récepteur.

    Screenshot that shows creating a sink.

  3. Dans la page Nouveau jeu de données, sélectionnez Azure Data Lake Storage Gen2, puis Continuer.

  4. Dans la page Sélectionner le format, sélectionnez DelimitedText, puis Continuer.

  5. Nommez votre jeu de données récepteur MoviesSink. Pour Service lié, choisissez le service lié ADLSGen2 que vous avez créé pour la transformation source. 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. Cochez la case Première ligne comme en-tête, puis sélectionnez Aucun pour Importer un schéma. Cliquez sur OK.

    Screenshot that shows the sink path.

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

Exécuter et surveiller le flux de données

Vous pouvez déboguer un pipeline avant de le publier. Au cours de cette étape, vous déclenchez 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 votre récepteur de destination.

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

  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, sélectionnez l’icône en forme de lunettes pour en afficher les détails.

  3. La page Détails indique le nombre de lignes et le temps consacré à chaque étape de transformation.

    Screenshot that shows a monitoring run.

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

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.

Résumé

Dans ce tutoriel, vous avez utiliser l’interface utilisateur Data Factory pour créer un pipeline permettant de copier et de transformer des données d’une source Data Lake Storage Gen2 à un récepteur Data Lake Storage Gen2 (tous deux n’autorisant l’accès qu’aux réseaux sélectionnés) à l’aide d’un flux de données de mappage sur le réseau virtuel managé Data Factory.