Data Flow
Introduction aux Data Flow
Les Data Flow permettent de gérer les transformations de données graphiquement, sans connaître le code du moteur qui va être en charge de réaliser la transformation. C’est Databricks qui est en charge de réaliser le traitement. Toutefois, nul besoin de connaître le Scala ou le Python, Azure Data Factory se charge de générer un langage descriptif qui sera ensuite interprété par un travail d’exécution sur Databricks à partir des paramétrages réalisés graphiquement, via Mapping Data Flow ou Wrangling Data Flow.
La configuration du cluster Databricks utilisé est intégrée à l’Integration Runtimes Azure, il est possible de modifier le type de machine provisionnée parmi General Purpose ou Compute Optimized ou Memory Optimized, ainsi que le nombre de cœurs de 4 à 256. Enfin, il est possible de gérer le délai sans calcul à partir duquel le cluster est éteint et donc à partir duquel la facturation s’arrête.
Attention, un cluster Databricks peut vite coûter très cher, il ne faut donc pas provisionner 256 cœurs à la légère.
Afin de créer un Data Flow, il est nécessaire de cliquer sur l’ellipse en regard du menu Data Flow - Add Data Flow puis de choisir le type de Data Flow à créer....
Mapping Data Flow
Les transformations supportées par Mapping Data Flow sont réparties en quatre catégories dans l’interface adf.azure.com :
-
Multiple inputs/outputs pour les transformations chargées de consolider les données de plusieurs jeux de données : Join, Conditional Split, Union, Lookup.
-
Schema modifier pour les transformations qui auront un impact sur les colonnes du jeu de données : Derived Column, Aggregate, Surrogate Key, Pivot, Unpivot, Window.
-
Row modifier afin d’apporter des modifications sur le contenu des jeux de données : Exists, Select, Filter, Sort, Alter Row.
-
Destination est une catégorie qui ne contient que le composant Sink nécessaire à l’insertion des données de destination.
1. Source et destination
a. Source
Au moins une source est nécessaire par Data Flow. Ces sources sont le point de départ d’un flux de données. Une source est liée à un jeu de données, seuls les jeux de données de types : Azure Blob Storage, Azure Data Lake Storage (Gen 1 & 2), Azure SQL Data Warehouse et Azure SQL Database sont aujourd’hui supportés.
Pour toutes les autres sources, il est nécessaire de réaliser une activité de copie en amont du Data Flow afin de stocker les données sur l’un de ces stockages.
L’onglet Source Settings expose les options :
-
Allow schema drift : lorsque cette option est activée, la source de données n’est plus dépendante du schéma source. Le schéma est réévalué à chaque exécution.
Cette option est la solution au perpétuel problème rencontré avec SSIS où la source de données était fixée lors de la création du flux de données. Cela permet d’être beaucoup plus tolérant aux changements de schéma en source, mais aussi de pouvoir rendre dynamiques les noms de colonnes.
-
Validate schema : lorsque cette option est activée, le schéma de la source de données est fixe. En cas d’ajout de colonne, de modification de type, l’activité termine en échec.
-
Sampling : si activé, permet de limiter le nombre de lignes utilisées, peut être utile pour déboguer.
L’onglet...
Wrangling Data Flow
Wrangling Data Flow permet de générer des traitements sur un cluster Databricks en partant d’un frontal Power Query.
Power Query permet aux utilisateurs familiers avec Power BI ou Excel, de transformer les données graphiquement grâce aux assistants intégrés dans l’outil, mais aussi à un langage de développement, le M.
Début d’été 2019, Wrangling Data Flow est en accès privé, il n’est donc pas possible pour l’instant de le documenter de façon satisfaisante. Cette section a donc pour objectif de présenter ce qui est disponible de l’outil tout en gardant à l’esprit que cela va certainement drastiquement changer d’ici la sortie officielle de la fonctionnalité.
1. Initialisation
La première étape lors de l’ajout d’un nouveau Wrangling Data Flow est de configurer les jeux de données sources et destination.
Les jeux de données supportés sont des fichiers CSV et JSON depuis un Data Lake Storage Gen2.
L’écran d’initialisation fermé, l’interface de Power Query apparaît. Les jeux de données configurés apparaissent en tant que requêtes dans le dossier ADFResource.
2. Interface Power Query
L’interface de Wrangling Data Flow est identique à la version de Power Query qu’il est possible de trouver au sein de Power BI Data Flow.
a. Liste des requêtes
La liste des requêtes, présente sur la gauche de l’écran, permet de retrouver au sein du dossier ADFResource la liste des jeux de données fournis lors de l’initialisation du Data Flow. S’il est possible de modifier, depuis l’assistant, les requêtes en question, cela n’est pas souhaitable, celles-ci étant régénérées à...