Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Azure Data Factory
  3. Activités et Data Flows en détail
Extrait - Azure Data Factory Intégrez vos données avec le service serverless d'Azure
Extraits du livre
Azure Data Factory Intégrez vos données avec le service serverless d'Azure Revenir à la page d'achat du livre

Activités et Data Flows en détail

Introduction

Ce chapitre décrit les activités existantes en dehors de tout contexte métier. Il ne s’agit pas d’une mise en situation de celles-ci, mais plus d’une énumération documentaire avec mise en avant de certaines options de configuration afin de les expliquer plus en détail. N’hésitez donc pas à le parcourir afin de prendre connaissance des différents types d’activités, ou alors à passer directement au chapitre suivant afin d’avoir des exemples d’utilisation plus concrets. Toutefois, chaque présentation est agrémentée des cas d’utilisation dans lesquels l’activité est communément utilisée.

images/3-1-EP-1.PNG

Activité de flux de données

Les activités de flux de données sont au cœur d’Azure Data Factory, ce sont elles qui permettent de faire transiter les données d’un emplacement vers un autre. Les scénarios sont nombreux, qu’il s’agisse de copier des données depuis une base SQL Server On-Premise vers un stockage dans le Cloud, de faire des transformations entre plusieurs services Azure, ou même de copier des données depuis le Cloud vers un espace de stockage On-Premise. Il est important de comprendre que les activités de flux de données actuellement disponibles s’appuient sur deux mécanismes distincts.

L’activité Copy Data s’appuie sur les Integrations Runtimes afin d’effectuer la copie. Cela n’apporte pas une grande flexibilité et si les sources et destinations de données sont nombreuses, il n’est pas possible d’effectuer des transformations avancées. Toutefois, la mise en place est rapide, efficace et peu onéreuse et doit donc être privilégiée pour les opérations simples, particulièrement lors d’une utilisation dans un scénario hybride où les données peuvent être On-Premise.

L’activité Mapping Data Flow quant à elle, s’appuie sur le service DataBricks qui permet d’effectuer des transformations avancées et s’approche plus de ce qu’il était possible de réaliser avec SSIS. Cependant, les sources supportées sont moins nombreuses et nécessiteront souvent l’utilisation d’une activité copy en amont afin de stocker les données dans un stockage Azure. Cette activité est par ailleurs plus onéreuse qu’une activité de copie.

En reprenant la philosophie propre aux architectures Cloud, Azure Data Factory fonctionne en proposant une série d’outils spécialisés. Il est donc nécessaire d’avoir une excellente connaissance des forces et faiblesses de chaque activité afin de choisir celle qui correspond au besoin en prenant en compte : la facilité de maintenance, le coût, les performances.

1. Copy Data

L’activité Copy Data est certainement la plus populaire d’Azure Data Factory. Elle permet d’effectuer une copie...

Activité de traitement

Un des avantages majeurs des architectures Cloud est de pouvoir séparer le traitement du stockage des données. Cela afin de pouvoir réduire les coûts en utilisant le traitement (compute) uniquement lorsque cela est nécessaire tout en gardant la persistance des données. Les activités ci-dessous répondent à ces besoins de traitement en permettant d’utiliser une variété de moteur afin de transformer la donnée.

1. Batch Service

Custom

L’activité personnalisée (Custom) permet l’exécution d’un programme depuis le service Azure Batch. Cette activité permet l’exécution de scripts PowerShell, CMD, EXE si l’Azure Batch référencé est configuré pour provisionner des machines Windows. Mais aussi des commandes Bash (Unix shell) ou SSH si le service est configuré pour provisionner des machines Linux.

Cette activité rend possibles de nombreux scénarios. Certains, tels que l’exécution de scripts PowerShell, ne peuvent être réalisés qu’en utilisant cette activité. Toutefois, l’approche utilisée par ce service est de provisionner une ou plusieurs machines à la demande afin de pouvoir exécuter le programme demandé. Le coût du service et la complexité de celui-ci devraient vous inciter à vérifier qu’il n’est pas possible de faire autrement et à n’utiliser celui-ci qu’en dernier recours.

Avant de pouvoir utiliser l’activité personnalisée, il est nécessaire d’avoir à disposition un service Azure Service Batch et de référencer celui-ci via un service lié. La définition du service lié est la suivante :

{ 
   "name": "ServiceLieAzureBatch", 
   "properties": { 
       "type": "AzureBatch", 
       "typeProperties": { 
           "accountName": "Nom du Compte Batch", 
           "accessKey": { 
               "type": "SecureString", ...

Activité de flux de contrôle

Les activités de flux de contrôle permettent l’implémentation de logiques complexes telles que l’exécution de sous-pipelines, la gestion de contraintes d’antécédences ou l’exécution d’opérations de traitements.

Activité de flux de contrôle sous Azure Data Factory

1. Général

a. Append Variable

L’activité Append Variable (Ajout de variable) permet l’ajout d’une valeur à une variable de pipeline de type tableau (Array).

{ 
   "name": "Ajouter au tableau", 
   "type": "AppendVariable", 
   "typeProperties": { 
       "variableName": "UneVariable", 
       "value": "une valeur" 
   } 
} 

Intégrée au sein d’une boucle, cette activité permet de générer une liste de valeurs sourcées depuis un jeu de données par exemple.

  • type : paramètre obligatoire, la valeur doit être AppendVariable.

  • value : paramètre obligatoire, chaîne de caractères ou expression qui sera ajoutée à la variable de type tableau.

  • variableName : paramètre obligatoire, la variable de pipeline de type tableau dans laquelle la valeur sera ajoutée.

Il est ensuite possible d’accéder à la variable grâce à l’expression @variables(’UneVariable’) .

Cas d’utilisation : il s’agit de l’équivalent d’un array push présent dans de nombreux langages tels que PHP et JavaScript. Cela permet d’insérer une valeur au sein d’une variable de type tableau.

b. Set Variable

L’activité Set Variable permet d’attribuer une valeur à une variable de pipeline.

{ 
   "name": "Set Variable1", 
   "type": "SetVariable", 
   "typeProperties": { 
       "variableName": "UneVariable", 
       "value": "Une valeur de type chaîne de caractères" 
   } 
} 
  • type : paramètre obligatoire, la valeur doit être...