qu'est-ce qu'Azure Data Factory ?What is Azure Data Factory?

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Dans le monde des Big Data, les données brutes et désorganisées sont souvent enregistrées dans des systèmes de stockage relationnels, non-relationnels et autres systèmes.In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. Toutefois, lorsqu’elles sont isolées, les données brutes n’ont pas le contexte ou la signification appropriés pour fournir des informations significatives aux analystes, aux scientifiques des données ou aux décideurs en entreprise.However, on its own, raw data doesn't have the proper context or meaning to provide meaningful insights to analysts, data scientists, or business decision makers.

Les Big Data nécessitent un service pouvant orchestrer et opérationnaliser les processus qui permettent d’affiner les données brutes de ces gigantesques magasins pour les transformer en insights métier exploitables.Big data requires a service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. Azure Data Factory est un service cloud géré créé pour ces projets complexes d’extraction, de transformation et de chargement (ETL), d’extraction, de chargement et de transformation (ELT) et d’intégration des données.Azure Data Factory is a managed cloud service that's built for these complex hybrid extract-transform-load (ETL), extract-load-transform (ELT), and data integration projects.

Prenons l’exemple d’une société d’édition de jeux qui rassemble plusieurs pétaoctets de journaux d’activité sur les jeux générés par les jeux dans le cloud.For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. La société souhaite analyser ces journaux d’activité pour obtenir des informations détaillées sur les préférences des clients, les données démographiques et le comportement d’utilisation.The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. Elle souhaite également identifier les opportunités de vente incitative et de ventes croisées, développer de nouvelles fonctionnalités attrayantes, accroître son activité et fournir une meilleure expérience à ses clients.It also wants to identify up-sell and cross-sell opportunities, develop compelling new features, drive business growth, and provide a better experience to its customers.

Pour analyser ces journaux d’activité, l’entreprise doit utiliser des données de référence comme des informations sur le client, des informations sur les jeux et des informations sur la campagne marketing qui sont contenues dans un magasin de données local.To analyze these logs, the company needs to use reference data such as customer information, game information, and marketing campaign information that is in an on-premises data store. L’entreprise souhaite utiliser ces données issues du magasin de données local et les combiner avec d’autres données de journal dont elle dispose dans un magasin de données dans le cloud.The company wants to utilize this data from the on-premises data store, combining it with additional log data that it has in a cloud data store.

Pour extraire des informations, elle souhaite traiter les données combinées au moyen d’un cluster Spark dans le cloud (Azure HDInsight) et publier les données transformées dans un entrepôt de données cloud, tel qu’Azure Synapse Analytics, afin de pouvoir créer facilement un rapport à partir de celles-ci.To extract insights, it hopes to process the joined data by using a Spark cluster in the cloud (Azure HDInsight), and publish the transformed data into a cloud data warehouse such as Azure Synapse Analytics to easily build a report on top of it. Ils souhaitent automatiser ce flux de travail, et le surveiller et le gérer sur une base quotidienne.They want to automate this workflow, and monitor and manage it on a daily schedule. Ils veulent également l’exécuter lorsque les fichiers arrivent dans un conteneur de magasin d’objets blob.They also want to execute it when files land in a blob store container.

Azure Data Factory est la plateforme qui résout les scénarios de données de ce type.Azure Data Factory is the platform that solves such data scenarios. Il s’agit d’un service d’ETL et d’intégration de données basé sur le cloud, qui vous permet de créer des workflows orientés données pour l’orchestration des déplacements de données et pour la transformation des données à grande échelle.It is the cloud-based ETL and data integration service that allows you to create data-driven workflows for orchestrating data movement and transforming data at scale. À l’aide d’Azure Data Factory, vous pouvez créer et planifier des flux de travail pilotés par les données (appelés pipelines) qui peuvent ingérer des données provenant de différents magasins de données.Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. Vous pouvez créer des processus ETL complexes qui transforment les données visuellement avec des flux de données ou en utilisant des services de calcul comme Azure HDInsight Hadoop, Azure Databricks et Azure SQL Database.You can build complex ETL processes that transform data visually with data flows or by using compute services such as Azure HDInsight Hadoop, Azure Databricks, and Azure SQL Database.

De plus, vous pouvez publier vos données transformées sur des magasins de données comme Azure Synapse Analytics pour que des applications décisionnelles (BI) puissent les utiliser.Additionally, you can publish your transformed data to data stores such as Azure Synapse Analytics for business intelligence (BI) applications to consume. Enfin, via Azure Data Factory, les données brutes peuvent être organisées en magasins de données et lacs de données pertinents en vue d’améliorer les prises de décisions.Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Vue de niveau supérieur de Data Factory

Comment cela fonctionne-t-il ?How does it work?

Data Factory contient une série de systèmes interconnectés qui fournissent une plateforme de bout en bout complète pour les ingénieurs de données.Data Factory contains a series of interconnected systems that provide a complete end-to-end platform for data engineers.

Se connecter et collecterConnect and collect

Les entreprises disposent de données de différents types situées dans différentes sources locales, dans le cloud, structurées, non structurées et semi-structurées, toutes récupérées à des intervalles et à des vitesses variables.Enterprises have data of various types that are located in disparate sources on-premises, in the cloud, structured, unstructured, and semi-structured, all arriving at different intervals and speeds.

La première étape dans la création d'un système de production d’informations consiste à se connecter à toutes les sources nécessaires de données et de traitement des données comme les services Logiciel en tant que service (SaaS) et les services web de bases de données, de partage de fichiers et FTP.The first step in building an information production system is to connect to all the required sources of data and processing, such as software-as-a-service (SaaS) services, databases, file shares, and FTP web services. L’étape suivante consiste à déplacer les données souhaitées vers un emplacement centralisé pour un traitement ultérieur.The next step is to move the data as needed to a centralized location for subsequent processing.

Sans Data Factory, les entreprises doivent concevoir des composants personnalisés chargés du déplacement des données ou écrire des services personnalisés pour intégrer ces sources de données et leur traitement.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Il est coûteux et difficile d’intégrer et de gérer ces systèmes.It's expensive and hard to integrate and maintain such systems. En outre, ils sont souvent dépourvus des fonctionnalités de surveillance, d’alertes et de contrôles de niveau entreprise qu’un service entièrement géré peut offrir.In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

Avec Data Factory, vous pouvez utiliser l’activité de copie dans un pipeline de données pour déplacer les données source des magasins de données locaux et dans le cloud vers un magasin de données centralisé dans le cloud, à des fins d’analyse ultérieure.With Data Factory, you can use the Copy Activity in a data pipeline to move data from both on-premises and cloud source data stores to a centralization data store in the cloud for further analysis. Par exemple, vous pouvez collecter des données dans Azure Data Lake Storage et les transformer plus tard à l’aide d’un service de calcul Azure Data Lake Analytics.For example, you can collect data in Azure Data Lake Storage and transform the data later by using an Azure Data Lake Analytics compute service. Vous pouvez aussi collecter des données dans un stockage Blob Azure, puis les transformer ultérieurement à l’aide d’un cluster Azure HDInsight Hadoop.You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Transformer et enrichirTransform and enrich

Une fois que les données sont présentes dans un magasin de données centralisé dans le cloud, traitez ou transformez les données collectées en utilisant des flux de données de mappage Azure Data Factory.After data is present in a centralized data store in the cloud, process or transform the collected data by using ADF mapping data flows. Les flux de données permettent aux ingénieurs des données de créer et de gérer des graphes de transformation de données qui s’exécutent sur Spark, sans avoir à comprendre les clusters Spark ou la programmation Spark.Data flows enable data engineers to build and maintain data transformation graphs that execute on Spark without needing to understand Spark clusters or Spark programming.

Si vous préférez programmer des transformations manuellement, Azure Data Factory prend en charge les activités externes pour l’exécution de vos transformations sur des services de calcul comme HDInsight Hadoop, Spark, Data Lake Analytics et Machine Learning.If you prefer to code transformations by hand, ADF supports external activities for executing your transformations on compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, and Machine Learning.

CI/CD et publicationCI/CD and publish

Data Factory offre une prise en charge complète de l’intégration continue/livraison continue (CI/CD) de vos pipelines de données avec Azure DevOps et GitHub.Data Factory offers full support for CI/CD of your data pipelines using Azure DevOps and GitHub. Ceci vous permet de développer et de distribuer de façon incrémentielle vos processus ETL avant de publier le produit fini.This allows you to incrementally develop and deliver your ETL processes before publishing the finished product. Une fois que les données brutes ont été affinées sous une forme utilisable par l’entreprise, chargez-les dans Azure Data Warehouse, Azure SQL Database, Azure CosmosDB ou n’importe quel moteur d’analyse auquel vos utilisateurs peuvent accéder à partir de leurs outils d’analyse décisionnelle.After the raw data has been refined into a business-ready consumable form, load the data into Azure Data Warehouse, Azure SQL Database, Azure CosmosDB, or whichever analytics engine your business users can point to from their business intelligence tools.

SuperviserMonitor

Une fois que vous avez créé et déployé votre pipeline d’intégration de données afin de bénéficier de la valeur commerciale fournie par les données affinées, surveillez les activités planifiées et les pipelines pour connaître les taux de réussite et d’échec.After you have successfully built and deployed your data integration pipeline, providing business value from refined data, monitor the scheduled activities and pipelines for success and failure rates. Azure Data Factory intègre une prise en charge de la supervision des pipelines par le biais d’Azure Monitor, une API, PowerShell, des journaux Azure Monitor et les panneaux de contrôle d’intégrité du portail Azure.Azure Data Factory has built-in support for pipeline monitoring via Azure Monitor, API, PowerShell, Azure Monitor logs, and health panels on the Azure portal.

Concepts de niveau supérieurTop-level concepts

Un abonnement Azure peut contenir une ou plusieurs instances Azure Data Factory (ou fabriques de données).An Azure subscription might have one or more Azure Data Factory instances (or data factories). Azure Data Factory s’articule autour des composants clés ci-dessous.Azure Data Factory is composed of below key components.

  • PipelinesPipelines
  • ActivitésActivities
  • Groupes de donnéesDatasets
  • Services liésLinked services
  • Flux de donnéesData Flows
  • Runtimes d’intégrationIntegration Runtimes

Ces composants fonctionnent ensemble et vous dotent de la plateforme sur laquelle composer des flux de travail orientés données constitués d’étapes de déplacement et de transformation des données.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

PipelinePipeline

Une fabrique de données peut avoir un ou plusieurs pipelines.A data factory might have one or more pipelines. Un pipeline est un regroupement logique des activités nécessaires pour effectuer une unité de travail.A pipeline is a logical grouping of activities that performs a unit of work. Ensemble, les activités d’un pipeline effectuent une tâche.Together, the activities in a pipeline perform a task. Par exemple, un pipeline peut contenir un groupe d’activités qui ingère des données à partir d’un objet Blob Azure, puis exécute une requête Hive sur un cluster HDInsight pour partitionner les données.For example, a pipeline can contain a group of activities that ingests data from an Azure blob, and then runs a Hive query on an HDInsight cluster to partition the data.

L’avantage de cette opération, c’est que le pipeline vous permet de gérer les activités en tant qu’ensemble et non pas individuellement.The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. Les activités d’un pipeline peuvent être chaînées pour fonctionner de manière séquentielle ou peuvent fonctionner en parallèle de façon indépendante.The activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

Mappage des flux de donnéesMapping data flows

Créez et gérez des graphes de logique de transformation des données que vous pouvez utiliser pour transformer des données de n’importe quelle taille.Create and manage graphs of data transformation logic that you can use to transform any-sized data. Vous pouvez créer une bibliothèque réutilisable de routines de transformation de données et exécuter ces processus avec un scale-out depuis vos pipelines Azure Data Factory.You can build-up a reusable library of data transformation routines and execute those processes in a scaled-out manner from your ADF pipelines. Data Factory va exécuter votre logique sur un cluster Spark qui fonctionne et s’arrête quand vous en avez besoin.Data Factory will execute your logic on a Spark cluster that spins-up and spins-down when you need it. Vous ne devez jamais gérer ni maintenir des clusters.You won't ever have to manage or maintain clusters.

ActivitéActivity

Les activités représentent une étape de traitement dans un pipeline.Activities represent a processing step in a pipeline. Par exemple, vous pouvez utiliser une activité de copie pour copier des données d’un magasin de données vers un autre.For example, you might use a copy activity to copy data from one data store to another data store. De même, vous pouvez utiliser une activité Hive qui exécute une requête Hive sur un cluster Azure HDInsight afin de convertir ou d’analyser vos données.Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. Data Factory prend en charge trois types d’activités : les activités de déplacement des données, les activités de transformation des données et les activités de contrôle.Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

Groupes de donnéesDatasets

Les jeux de données représentent les structures des données dans les magasins. Ils pointent vers ou référencent simplement en tant qu’entrées ou sorties les données que vous voulez utiliser dans vos activités.Datasets represent data structures within the data stores, which simply point to or reference the data you want to use in your activities as inputs or outputs.

Services liésLinked services

Les services liés ressemblent à des chaînes de connexion. Ils définissent les informations de connexion nécessaires à Data Factory pour se connecter à des ressources externes.Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. Voyez les choses de la façon suivante : un service lié définit la connexion à la source de données et un jeu de données représente la structure des données.Think of it this way: a linked service defines the connection to the data source, and a dataset represents the structure of the data. Par exemple, un service lié Stockage Azure spécifie la chaîne de connexion pour se connecter au compte de stockage Azure.For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. De plus, un jeu de données blob Azure spécifie le conteneur d’objets blob et le dossier qui contient les données.Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

Data Factory fait appel aux services liés pour deux raisons :Linked services are used for two purposes in Data Factory:

  • Pour représenter un magasin de données qui inclut, sans s’y limiter, une base de données SQL Server, une base de données Oracle, un partage de fichiers ou un compte de stockage d’objets blob Azure.To represent a data store that includes, but isn't limited to, a SQL Server database, Oracle database, file share, or Azure blob storage account. Pour obtenir la liste des banques de données prises en charge, consultez l’article sur l’activité de copie.For a list of supported data stores, see the copy activity article.

  • Pour représenter une ressource de calcul qui peut héberger l’exécution d’une activité.To represent a compute resource that can host the execution of an activity. Par exemple, l’activité HDInsightHive s’exécute sur un cluster HDInsight Hadoop.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Pour obtenir la liste des activités de transformation et des environnements Compute pris en charge, consultez l’article sur la transformation des données.For a list of transformation activities and supported compute environments, see the transform data article.

DéclencheursTriggers

Les déclencheurs correspondent à l’unité de traitement qui détermine le moment auquel une exécution de pipeline doit être lancée.Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. Il existe différents types de déclencheurs pour différents types d’événements.There are different types of triggers for different types of events.

Exécutions de pipelinePipeline runs

Une exécution du pipeline est une instance de l’exécution du pipeline.A pipeline run is an instance of the pipeline execution. Les exécutions de pipeline sont généralement instanciées par la transmission des arguments aux paramètres définis dans les pipelines.Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. Les arguments peuvent être transmis manuellement ou être inclus dans la définition du déclencheur.The arguments can be passed manually or within the trigger definition.

ParamètresParameters

Les paramètres sont des paires clé-valeur de configuration en lecture seule.Parameters are key-value pairs of read-only configuration.  Les paramètres sont définis dans le pipeline.  Parameters are defined in the pipeline. Les arguments des paramètres définis sont transmis au cours de l’exécution à partir du contexte d’exécution qui a été créé par un déclencheur ou un pipeline qui a été exécuté manuellement.The arguments for the defined parameters are passed during execution from the run context that was created by a trigger or a pipeline that was executed manually. Les activités contenues dans le pipeline utilisent les valeurs des paramètres.Activities within the pipeline consume the parameter values.

Un jeu de données est un paramètre fortement typé et une entité réutilisable/pouvant être référencée.A dataset is a strongly typed parameter and a reusable/referenceable entity. Une activité peut faire référence à des jeux de données et utiliser les propriétés définies dans la définition du jeu de données.An activity can reference datasets and can consume the properties that are defined in the dataset definition.

Un service lié est également un paramètre fortement typé qui contient les informations de connexion à un magasin de données ou à un environnement Compute.A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. C’est également une entité réutilisable/pouvant être référencée.It is also a reusable/referenceable entity.

Flux de contrôleControl flow

Control flow est une orchestration des activités du pipeline, qui inclut le chaînage des activités en une séquence, la création de branches, la définition de paramètres au niveau du pipeline et la transmission des arguments lors de l’appel du pipeline à la demande ou à partir d’un déclencheur.Control flow is an orchestration of pipeline activities that includes chaining activities in a sequence, branching, defining parameters at the pipeline level, and passing arguments while invoking the pipeline on-demand or from a trigger. Il inclut également la transmission d’états personnalisés et le bouclage des conteneurs, autrement dit, des itérateurs ForEach.It also includes custom-state passing and looping containers, that is, For-each iterators.

VariablesVariables

Des variables peuvent être utilisées dans des pipelines pour stocker des valeurs temporaires et elles peuvent également être utilisées conjointement avec des paramètres pour permettre le passage de valeurs entre des pipelines, des flux de données et d’autres activités.Variables can be used inside of pipelines to store temporary values and can also be used in conjunction with parameters to enable passing values between pipelines, data flows, and other activities.

Étapes suivantesNext steps

Voici des documents importants à explorer pour l’étape suivante :Here are important next step documents to explore: