Share via


Transformer des données dans Delta Lake à 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 le canevas de flux de données pour créer des flux de données qui vous permettent d’analyser et de transformer des données dans Azure Data Lake Storage (ADLS) Gen2 et de les stocker dans Delta Lake.

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.

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

  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, sélectionnez Orchestrer.

    Screenshot that shows the ADF home page.

  2. Dans l’onglet Général du pipeline, entrez DeltaLake pour le 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 DeltaLake. 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.

    Screenshot that shows where is the Data flow debug slider.

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

Vous allez générer deux flux de données dans ce tutoriel. Le premier flux de données est une source simple à réceptionner pour générer un nouveau Delta Lake à partir du fichier CSV des films ci-dessus. Enfin, vous allez créer le modèle de flux ci-dessous pour mettre à jour les données dans Delta Lake.

Final flow

Objectifs du tutoriel

  1. Prenez la source du jeu de données MoviesCSV ci-dessus, et formez un nouveau Delta Lake à partir d’elle. Générez la logique pour mettre à jour les évaluations pour les films de 1988 sur « 1 ».
  2. Supprimez tous les films de 1950.
  3. Insérez de nouveaux films pour 2021 en dupliquant les films de 1960.

Démarrer à partir d’un canevas de flux de données vide

  1. Cliquez sur la transformation de la source.

  2. Cliquez sur Nouveau à côté du jeu de données dans le volet inférieur 1 Créer un nouveau service lié pour ADLS Gen2

  3. Choisissez Texte délimité pour le type de jeu de données.

  4. Nommez le jeu de données « MoviesCSV »

  5. Pointez sur le fichier MoviesCSV que vous avez chargé dans le stockage ci-dessus.

  6. Définissez-le comme délimité par des virgules et incluez l’en-tête sur la première ligne

  7. Accédez à l’onglet de projection de la source, puis cliquez sur « Détecter les types de données ».

  8. Une fois que vous avez votre jeu de projections, vous pouvez continuer

  9. Ajoutez une transformation du récepteur.

  10. Delta est un type de jeu de données inlined. Vous devez pointer vers votre compte de stockage ADLS Gen2.

    Inline dataset

  11. Choisissez un nom de dossier dans votre conteneur de stockage où vous souhaitez qu’ADF crée l’instance de Delta Lake.

  12. Revenez au concepteur de pipeline et cliquez sur Déboguer pour exécuter le pipeline en mode débogage avec uniquement cette activité de flux de données sur le canevas. Vous générez ainsi votre nouvelle instance de Delta Lake dans ADLS Gen2.

  13. À partir des ressources factory, cliquez sur nouveau > flux de données

  14. Réutilisez MoviesCSV comme source et cliquez à nouveau sur « Détecter les types de données ».

  15. Ajoutez une transformation de filtre à votre transformation source dans le graphique.

  16. Autorisez uniquement les lignes de film qui correspondent aux trois années avec lesquelles vous allez travailler, à savoir 1950, 1988 et 1960.

  17. Mettez à jour les évaluations pour chaque film de 1988 sur « 1 » en ajoutant maintenant une transformation de colonne dérivée à votre transformation de filtre.

  18. Dans cette même colonne dérivée, créez des films pour 2021 en prenant une année existante et en attribuant la valeur 2021 à l’année. Prenons l’année 1960.

  19. Voici à quoi ressembleront vos trois colonnes dérivées.

    Derived column

  20. Les stratégies Update, insert, delete, and upsert sont créées dans la transformation de modification de ligne. Ajoutez une transformation de modification de ligne après votre colonne dérivée.

  21. Vos stratégies de modification de ligne doivent ressembler à ce qui suit.

    Alter row

  22. Maintenant que vous avez défini la stratégie appropriée pour chaque type de modification de ligne, vérifiez que les règles de mise à jour appropriées ont été définies sur la transformation du récepteur.

    Sink

  23. Ici, nous utilisons le récepteur Delta Lake pour votre lac de données ADLS Gen2 et autorisons les insertions, les mises à jour et les suppressions. 

  24. Notez que Colonnes clés désigne une clé composite composée de la colonne clé primaire Movie et de la colonne Year. Cela est dû au fait que nous avons créé de faux films 2021 en dupliquant les lignes de 1960. Cela permet d’éviter les collisions lors de la recherche des lignes existantes en assurant l’unicité.

Télécharger l’exemple terminé

Vous trouverez ici un exemple de solution pour le pipeline Delta avec un flux de données pour la mise à jour/suppression de lignes dans le lac.

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