Fonctionnalités d'Azure Data Factory
Développé par Microsoft, Azure Data Factory est un service Azure qui permet d’orchestrer des mouvements et des transformations de données entre diverses sources de données vers des ressources de calcul hébergées dans le cloud.
Azure Data Factory est un outil visuel et très facile à prendre en main pour quiconque ayant l’habitude de travailler avec d’autres outils ETL comme Talend par exemple. Il est le successeur de SQL Server Integration Services (SSIS), plus orienté solution locale à destination d’environnements on-premise.
L’architecture d’Azure Data Factory repose sur des composants clés permettant de concevoir, orchestrer et exécuter des pipelines de données.
Composants d'Azure Data Factory
Pipelines
Un pipeline est un conteneur logique regroupant une série d'activités qui exécutent ensemble une tâche. Cette tâche peut être automatisée, exécutée manuellement ou déclenchée par des événements spécifiques, et constitue un flux de travail complet pour l'extraction, la transformation et le chargement des données. Un pipeline permet de définir des relations de dépendance entre les différentes activités afin de garantir leur ordre d’exécution, et est conçu pour gérer de grands volumes de données dans des scénarios plus ou moins complexes.
Activités
Azure Data Factory propose une large gamme d’activités, regroupées en 3 catégories principales :
- Déplacement des données (Copy Data)
- Transformation des données (Data Flow)
- Contrôle des flux (Filter, Switch, ForEach, etc.)
Ces activités peuvent être exécutées en parallèle de façon indépendante pour optimiser les performances, ou enchaînées pour s'exécuter séquentiellement, en respectant les dépendances définies, comme attendre la réussite, l'échec ou la fin d'une activité précédente.
Grâce à son interface visuelle, Azure Data Factory permet de configurer facilement ces activités. Il suffit de glisser-déposer les activités souhaitées sur l'espace de travail, puis de les configurer via des paramètres simples.
Datasets
Un dataset est une structure de référence qui représente une source ou une destination de données que vous souhaitez utiliser dans vos activités. Il fournit les détails nécessaires pour accéder aux données, tels que l'emplacement, le format, le schéma et agit comme un modèle décrivant où et comment les données doivent être lues ou écrites dans le cadre des pipelines d'intégration.
Azure Data Factory prend en charge différents types de datasets adaptés à divers formats et sources de données :
- Azure : Blob Storage, Data Lake Storage Gen2, File Storage, SQL Database, etc.
- Base de données : MariaDB, MySQL, PostgreSQL, MongoDB, etc.
- Fichiers : Amazon S3, FTP, SFTP, etc.
- Protocole générique et NoSQL : Accès via des requêtes HTTP, intégration avec des bases NoSQL comme MongoDB.
- Applications SaaS : Intégration directe avec des services tels que Jira, Salesforce, Shopify ou PayPal.
Quel que soit le type de données, chaque dataset est toujours lié à un service lié, qui fournit les informations de connexion nécessaires, telles que l’URL, les identifiants d’authentification ou les paramètres de sécurité requis pour accéder à la source ou à la destination des données.
Data flows
Un data flow est un graphe logique de transformation de données à grande échelle, qui permet de concevoir, tester et gérer des flux de données, sans rédiger de code.
L’interface utilisateur basée sur un canevas est intuitive et met à disposition une bibliothèque de transformations pré-construites comme :
- des aggrégations
- des pivots
- des jointures
- des filtres
- etc.
Le processus de création d'un data flow implique l'ajout de sources de données (via des datasets ou inline) , l'application d'une série de transformations, et la définition de récepteurs (destinations des données transformées). Chaque transformation est configurable à l'aide d'expressions et de paramètres, offrant un contrôle précis sur la logique de traitement.
Une des forces majeures des data flows réside dans leur capacité à gérer des volumes de données importants et variés. Leur exécution est gérée par le moteur Spark d'Azure Data Factory, qui assure un traitement parallèle et distribué, optimisant ainsi les performances et la scalabilité. De plus, les data flows offrent des fonctionnalités avancées telles que le partitionnement des données, la gestion des schémas, la détection des dérives de schéma et la mise en cache des données pour améliorer l'efficacité des traitements.
Triggers
Un trigger détermine quand un pipeline doit être exécuté. Il permet d'automatiser l'exécution des pipelines selon différents types :
- scheduled (planifié) : Lance un pipeline à des intervalles réguliers (par exemple, quotidiennement à 2h du matin)
- tumbling window (fenêtre glissante) : Créé une série de fenêtres de temps consécutives et exécute le pipeline pour chaque fenêtre
- event-based (basé sur un événement) : Réagit à des événements spécifiques, comme l'arrivée d'un fichier dans un stockage Azure Blob
Un trigger peut être activé ou désactivé mais doit être impérativement publié pour être déclenchable. Malgré la flexibilité qu'offrent les triggers, il n’est pas possible de spécifier des minutes distinctes pour des heures différentes, rendant impossible une programmation telle que 7h30 et 10h45. L'implémentation actuelle entraînerait des lancements à 7h30, 7h45, 10h30 et 10h45.
Monitoring
Le monitoring dans Azure Data Factory est essentiel pour assurer la fiabilité et l’efficacité des pipelines et permet de détecter rapidement les problèmes et de comprendre les performances.
Le tableau de bord fournit une vue d’ensemble de l’état des pipelines, incluant le nom du pipeline, les paramètres utilisés, son statut à l’instant T, s’il est terminé sa durée, et permettant de le rejouer.
Il est aussi possible de visualiser l’état des derniers triggers, des runtimes d’intégrations, et de configurer des alertes et des notifications pour être informé en cas d’échec de pipeline ou d’autres événements spécifiques
Avantages d'Azure Data Factory
Azure Data Factory présente de très nombreux avantages. Sa facilité d’intégration à une large gamme de sources de données comme des bases de données, des services cloud, des fichiers plats ou même des applications SaaS facilite la collecte de données. Son interface visuelle est très intuitive et permet de concevoir des pipelines de données sans avoir besoin de coder. Basé sur le moteur Spark, il est facilement scalable et permet de traiter de grands volumes de données parallèlement, optimisant ainsi les performances.
Le besoin d’intervention manuelle est réduit grâce aux triggers permettant d’exécuter des pipelines à des intervalles réguliers ou en réponse à des événements spécifiques mais aussi grâce au système de monitoring qui peut alerter en cas d’échec et diagnostiquer rapidement les problèmes.
En tant que service Cloud, Azure Data Factory est une solution clé en main qui ne coûte que ce qu’elle consomme, permettant ainsi d’éviter des coûts d’infrastructure, de matériels, et de logiciels tiers. Elle s’intègre parfaitement avec le reste des services Azure, tels que Azure Databricks, Azure Synapse Analytics, etc.
Retour aux éditeurs "Intégration et flux de données"
Vous souhaitez bénéficier d'experts, de développeurs ou d'une formation sur Azure Data Factory ? Rendez vous sur la page Contact
Des Experts formateurs certifiés Azure Data Factory à Rennes, Nantes, Paris, Montpellier, Nice, Angers, Le Mans, Niort, Laval, Lyon, Grenoble, Saint-Etienne, Bordeaux, Toulouse, La Rochelle, Agen, Bayonne, Sophia Antipolis, Béziers, Brest...
Des Experts formateurs certifiés Azure Data Factory dans les Pays de Loire, Occitanie, Bretagne, Région Parisienne, Poitou-Charentes, Ile de France, Aquitaine, Midi-Pyrénées, Rhône, Ain, Isère, Loire, Languedoc-Roussillon et Provence-Alpes-Côte d'Azur.