Débloquer une intégration transparente des données dans le cloud avec Azure Data Factory
Introduction
Dans le monde actuel axé sur les données, la gestion et la transformation des données provenant de diverses sources constituent une tâche très lourde pour les organisations. Azure Data Factory (ADF) se distingue comme un service d’intégration de données ETL et cloud étendu et robuste qui permet aux entreprises de rationaliser leurs flux de travail complexes basés sur les données en temps opportun et en toute simplicité. Azure Data Factory fournit une plateforme évolutive et flexible conçue pour répondre à vos besoins d’intégration de données, que vous orchestrez vos processus ETL, automatisez le mouvement des données entre le site et le cloud ou transformez des données brutes en informations significatives.
Comprenons les concepts fondamentaux d’ADF :
- Pipelines: C’est un regroupement logique d’activités.
- Activités: Chaque activité effectue une tâche. Une activité peut être un mouvement de données, par exemple effectuer une ingestion, extraire des données dans le cloud et y effectuer une transformation. Il existe différents types d’activités :
- Mouvement des données : Par exemple une activité de copie. Il déplace les données entre les sources et les récepteurs afin que nous puissions effectuer des opérations sur les données.
- Transformation des données: Il s’agit d’activités externes où le calcul est effectué en dehors d’ADF sur un magasin de données.
Par exemple, une procédure stockée exécutée sur une base de données, Azure Functions, Spark, etc. - Contrôle: Originaire d’ADF. Par exemple, les appels Web, la validation des pipelines, etc.
- Ensembles de données représenter les données de n’importe quel magasin de données. Les ensembles de données sont consommés par une activité dans un pipeline, comme le montre la figure ci-dessus.
- Services liés : Ce sont les chaînes de connexion nécessaires pour se connecter aux ensembles de données
- Runtime d’intégration: Il fournit le calcul qui permet à ADF d’exécuter les pipelines.
Scénario de cas d’utilisation
Essayons maintenant de comprendre le fonctionnement d’ADF à l’aide d’un cas d’utilisation. Supposons que nous ayons un compte de stockage dans lequel les utilisateurs téléchargent toutes sortes de données, telles que des fichiers CSV, des images, des fichiers HTML ou texte, etc. Nous voulons uniquement les images du premier compte de stockage, pour cela, nous copierons les images du compte de stockage source vers le compte de stockage de destination. Nous devons utiliser des caractères génériques dans le pipeline pour sélectionner uniquement les images. C’est une tâche simple lorsqu’il vous suffit d’utiliser un seul caractère générique. Vous pouvez immédiatement utiliser l’activité de copie et y parvenir. Mais ici, nous devons déplacer toutes les images, qu’elles soient JPEG ou PNG, ce qui signifie que nous avons affaire à plusieurs caractères génériques.
Conditions préalables
- Usine de données Azure vide
- Deux comptes de stockage (source, destination). Dans notre exemple, sourceadfaccount est le compte de stockage source et destinationadfaccount est le compte de stockage de destination.
- Accès contributeur via l’abonnement.
Solution
- Accédez à votre ADF Studio en cliquant sur le bouton Lancer Studio.
- Nous devons maintenant nous connecter à nos comptes de stockage source et de destination, ce qui signifie que nous devons créer deux services liés. Pour cela, cliquez sur Gérer dans le menu de gauche et sélectionnez Services liés. Cliquez sur + puis sélectionnez « Azure Blob Storage » comme magasin de données.
Remplissez toutes les informations du compte de stockage source et testez la connexion. Une fois réussi, répétez les étapes pour le compte de stockage de destination.
- Ensuite, nous devons créer les deux ensembles de données, image source et égrappage. Pour cela, sélectionnez l’élément de menu Auteur sur le côté gauche. Cliquez sur le bouton + et sélectionnez Ensemble de données. Maintenant, sélectionnez à nouveau le stockage de données comme Blob Storage et comme nos fichiers image sont de type binaire, nous sélectionnerons le format binaire.
Sélectionnez le service lié source, parcourez le chemin du fichier et cliquez sur OK.
Répétez les mêmes étapes pour l’ensemble de données de destination.
- Maintenant, nous allons commencer par créer notre pipeline. Cliquez à nouveau sur le bouton + dans l’onglet Auteur et cette fois sélectionnez Pipeline.
- La première tâche pour nous est de parcourir notre compte de stockage source et d’obtenir tous les fichiers qui doivent être analysés. Pour cela, nous utiliserons l’activité « Obtenir les métadonnées ».
Accédez aux paramètres et ajoutez « Éléments enfants » comme argument. Cela renvoie une liste de sous-dossiers et de fichiers dans le dossier donné. La valeur renvoyée est une liste du nom et du type de chaque élément enfant.
- Nous avons maintenant tous les fichiers de la source et nous devons ensuite filtrer les fichiers image (jpeg + png). Pour cette tâche, nous utiliserons l’activité « Filtre » ADF.
Utilisez respectivement les expressions suivantes pour les éléments et les conditions :
Articles: Cela récupère les fichiers de sortie de l’activité précédente@activity('getimagesfromsource').output.childItems
Conditions: Ceci est utilisé pour filtrer les fichiers jpeg et png de la sortie que nous avons reçue de la dernière activité.
@or(contains(item().name,'.jpeg'),contains(item().name,'.png'))
- L’activité de filtrage nous donnera les fichiers image filtrés souhaités. Ensuite, nous devons parcourir la sortie pour les copier sur le compte de stockage de destination. Pour cette tâche, nous utiliserons l’activité « Pour chaque ». Sous les paramètres, pour les éléments, cliquez sur « Ajouter du contenu dynamique » et sélectionnez la valeur de sortie de l’activité de filtrage.
Allez maintenant dans l’onglet « Activités » pour l’activité « Pour chaque » et ajoutez l’activité « Copier ».
- Dans l’activité « Copier », choisissez la source comme image source ensemble de données. Dans le type de chemin de fichier, sélectionnez « Chemin de fichier générique » et pour le nom de fichier, ajoutez « @item().name ».
Pour l’évier, ajoutez le égrappage ensemble de données.
- Revenez au pipeline principal. Assurez-vous d’avoir connecté toutes les activités. Cela ressemblera à ceci :
- Ensuite, nous devons « déclencher » le pipeline. Pour cela, vous devez valider et publier votre pipeline. Vous pouvez également choisir de le déclencher maintenant ou à tout moment manuellement.
Cliquez sur « Nouveau/Modifier ». Ici, vous pouvez choisir d’exécuter le pipeline en fonction d’un calendrier ou de divers événements :
Nous choisirons de déclencher le pipeline maintenant, car nous disposons déjà des données. Vous pouvez voir les journaux et les résultats de la fenêtre des exécutions d’activité en bas de l’écran.
Contenu du compte de stockage de destination après l’exécution du pipeline :
Ainsi, comme vous pouvez le voir ci-dessus, le pipeline ADF a copié avec succès les fichiers image de la source vers le compte de stockage de destination. Vous pouvez également ajouter plusieurs activités entre les deux si vous souhaitez effectuer des transformations de données avant de stocker réellement le contenu dans la destination. Par exemple, si vous souhaitez que les fichiers soient compressés, vous pouvez sélectionner le type de compression lors de la configuration de l’ensemble de données, etc.
Résumé
Dans ce blog, nous avons compris ce qu’est Azure Data Factory (ADF) et comment il résout notre cas d’utilisation. On peut réaliser beaucoup de choses avec ADF, qu’il s’agisse de moderniser des systèmes existants, de créer de nouveaux flux de données ou d’étendre vos capacités d’analyse. ADF peut s’adapter à vos besoins évolutifs. Cela facilite grandement la gestion et l’organisation des données afin que vous puissiez vous concentrer davantage sur la prise de décision. Si vous cherchez à rationaliser vos processus de données, Azure Data Factory pourrait être exactement l’outil dont vous avez besoin.
Source link