Pour réaliser notre livre blanc La Data Preparation, un enjeu pour la nouvelle BI, nos experts ont testé les différentes solutions de data preparation du marché. Aujourd’hui, Malick vous fait part de sa méthode de découverte et d’utilisation de Talend Data Preparation, outil de collaboration qui combine préparation et intégration de données !
Démarrage et importation du jeu de données
Talend Data Preparation vous permet de travailler des données issues de fichiers Excel, HDFS, CSV, ou à partir du web. Pour ce faire, il suffit d’importer un jeu de données locales ou trouvées sur le web (Attention : cette dernière option n’est pas optimale, car si la page web dont on souhaite extraire les données contient également du texte, le fichier construit sur Talend aura une structure anarchique).
Commençons par lancer le logiciel :
On arrive alors sur la fenêtre d’accueil de Talend Data Preparation (TDP) :
Créez ensuite un nouveau répertoire. Il sera le répertoire de travail dans lequel vous pourrez importer et travailler tous les jeux de données dont vous aurez pour votre préparation.
Le répertoire créé s’ajoute à la liste de l’écran d’accueil :
Pour importer un jeu de données, cliquez sur le bouton « ADD DATASET », en haut à gauche de votre fenêtre :
TDP vous permet pour le moment –en version desktop – d’importer trois types de jeux de données :
- Données locales (Fichiers CSV ou au format Excel),
- Données à partir d’un lien internet,
- Soit directement depuis une page internet : à ce moment, copier l’URL de la page internet en question et la coller dans le champ adéquat. Dans ce cas, le contenu de l’URL de votre page est importé sur TDP.
- Soit à partir d’un lien de téléchargement de fichier : dans ce cas, faire un clic droit sur le bouton du lien et « copiez l’adresse du lien ». Le jeu de données est alors téléchargé et importé sur TDP.
- Données HDFS.
La data preparation sur TDP
TDP charge ensuite votre jeu de données pour l’afficher : c’est le début des phases de découverte, d’organisation et de nettoyage.
On a alors une interface de ce type :
L’affichage de Talend Data Preparation ressemble à celui d’un tableur. La fenêtre logicielle est très épurée : l’ensemble des outils dont vous aurez besoin y est affiché, avec des fonctionnalités qui faciliteront vos préparations et en optimiseront la qualité.
- Pour commencer, chaque colonne contient un en-tête :
- Le logiciel est suffisamment intelligent pour identifier le type d’informations qui sont contenues dans la colonne correspondant à chaque en-tête (nombre entier, nombre décimal, date, code postal, etc, plus de 20 types de données sont reconnues par l’outil)
Si jamais le type des données reconnu sur une colonne par le logiciel n’est pas le bon, il vous est possible de le modifier en cliquant sur l’icône triangulaire située à droite de chaque en-tête.
TDP est également un outil très performant en terme de data quality. Vous trouverez des barres de qualité en dessous de chaque entête :
Les couleurs de ces barres témoignent de la qualité des données qui sont présentes dans la colonne, relativement au type de données reconnu par le logiciel ou spécifié par l’utilisateur :
- La couleur verte signifie que des données sont conformes au type de données affecté à la colonne.
- La couleur orange signifie au contraire que des données ont un aspect invalidé par le logiciel. La couleur orange est un témoin d’alerte. Elle vous signale que pour obtenir des données de qualité, il vous faudra modifier le type de données au niveau des entêtes de colonnes, modifier les données erronées (qui ont peut-être un simple problème de format), ou supprimer les données problématiques.
- Enfin, la couleur blanche signifie que des cellules sont vides et ne contiennent donc aucune donnée.
Ainsi, plus un aspect de donnée prédomine dans la colonne, plus la barre située sous l’en-tête est teinte de l’une ou l’autre des couleurs qui lui correspondent.
Par exemple, si une colonne contient 30% de données valides, 60% de données invalides et 10% de cellules vides, la barre de qualité sera teinté de : 30% de vert ; 60% d’orange ; 10% de blanc.
- En plus des barres de qualité, TDP présente également des indicateurs de qualité. Si les barres de qualité donnent un résumé global de la qualité des données contenues dans une colonne donnée, les indicateurs de qualité permettent de voir de manière locale les données posant problème. En effet, les cellules qui posent problème sont marquées d’un trait vertical orange (ayant la même signification que dans le code de couleur précédent ; à savoir des données erronées) :
Passons maintenant au nettoyage et à l’organisation de votre jeu de données.
Pour modifier le contenu d’une cellule, il faut double-cliquer sur cette dernière : un champ apparait ensuite; on peut y inscrire le texte de son choix.
Lorsque l’on clique sur l’en-tête d’une ligne ou d’une colonne, on dispose d’un certain nombre de fonctions sur le volet de droite (Voir les deux cadres rouges et verts sur l’image ci-dessous) :
- Dans le cadre rouge, vous trouverez la liste des fonctions qui sont applicables sur les lignes et les colonnes que vous sélectionnerez. Selon les colonnes sur lesquelles vous cliquez – plus précisément, selon leur type – TDP vous suggérera en tête de liste des transformations qui sont les plus communes pour les données de votre sélection. Effectuer une opération avec une autre colonne pour créer un champ calculé, remplir des cellules invalides avec une certaine valeur, concaténer la colonne avec une autre, convertir le contenu des cellules en majuscules ou en minuscules ne sont que quelques exemples des transformations que vous pouvez effectuer.
NB : en cliquant sur l’en-tête d’une ligne, les deux possibilités qu’offrent l’outil de Talend sont de supprimer la ligne (« Delete Line ») en question ou de la transformer en en-tête (« Make as header »).
Exemple : pour faire une opération sur une cellule :
- Sélectionner l’en-tête d’une colonne
- Sélectionner la fonction « Add, Multiply, Substract or Divide »
- Sélectionner l’opérateur ( +, x, /, -)
- Dans le champs « Use with », sélectionner :
- « No other columns » si l’on souhaite incrémenter les colonnes d’une certaine valeur. Puis dans la ligne « Operand », il faudra sélectionner l’incrément de son choix pour la colonne,
- « Another column » si l’on souhaite effectuer une opération avec une autre colonne. Il faudra également sélectionner le type d’opération désirée, puis la colonne avec laquelle on souhaite réaliser cette opération.
- Le cadre vert, quant à lui, vous permettra d’accéder à certains outils permettant d’avoir un aperçu de la structure générale des données contenues dans la colonne.
On peut ainsi accéder à des représentations statistiques des données issues de la colonne sélectionnée par l’utilisateur. Dans les exemples mis en avant ci-dessous, nous voyons :
A gauche : La colonne sélectionnée
Au milieu : Une visualisation résumant le contenu de la colonne (valeurs minimales et maximales, médiane, moyenne, etc…).
A droite : Un aperçu de la répartition des individus sur l’enregistrement de la colonne « population ».
TDP est également équipé d’une fonctionnalité de preview : lorsque vous passez le curseur de votre souris sur une des fonctions proposées par le logiciel, ce dernier vous présente instantanément une prévisualisation de la transformation qui sera appliquée sur la colonne si vous choisissez d’utiliser la fonction en question (voir l’image ci-dessous).
L’outil développé par Talend facilitera énormément vos transformations grâce à ses nombreuses fonctions de filtrage :
- Dans un premier temps, il est possible d’écrire dans un champ de saisie pour créer des filtres (Comme sur l’image « 1 » ci-dessous). Si la chaine saisie existe dans le jeu de données (peu importe la casse), TDP saura identifier la/les colonne(s) qui contien(nen)t la chaine en question : vous pourrez alors réaliser un filtrage de l’ensemble de votre jeu de données sur les enregistrements où la colonne filtrée contient la clé de filtrage (Comme sur l’image « 2 » ci-dessous : un filtrage sur la colonne « VILLE » a été réalisé là où on trouvait la valeur « Chicago »).
- Il est aussi possible d’utiliser des filtrages grâce à la data quality avancée de TDP. En effet, barres de qualités sont interactives avec les données : Cliquer sur ces dernières filtrera vos données sur les valeurs qu’elles recouvrent.
- Par exemple, en cliquant sur la portion orange de la représentation statistique d’une colonne « C », vous pourrez créer un filtrage de l’ensemble du dataset sur les lignes où « C » contient des données erronées (Réciproquement pour des données valides ou manquantes si le clic était respectivement fait sur une portion verte ou blanche)
- Enfin, on peut réaliser des filtres avec les représentations statistiques proposées par l’outil.
Ainsi, en cliquant sur les éléments des différents diagrammes proposés par l’outil, vous pourrez créer des filtres sur les données qu’ils représentent.
Toutes ces actions de filtrages vous permettront de nettoyer et structurer votre jeu de données avec bien plus d’efficacité. Si une barre de qualité contient des données erronées, toutes ne sont peut-être pas à jeter : ainsi, pouvoir filtrer les données sous différents angles permet d’avoir la meilleure approche de nettoyage. De plus, au-delà même de la dimension de « nettoyage », filtrer ses données permet d’avoir une vision plus microscopique de son dataset : cette composante renforce également la force de l’exploration sur Talend Data Preparation.
En ce qui concerne la data preparation en elle-même, Talend Data Preparation va mémoriser l’ensemble des modifications apportées au jeu de données, qu’il s’agisse de :
- L’édition d’une cellule,
- La suppression d’une ligne ou d’une colonne,
- Les opérations effectuées entre les colonnes ou les fonctions utilisées sur chaque colonne,
- Les lignes affectées en en-tête,
- etc.
Chaque modification apportée au dataset va constituer ce que le Talend appelle un ingrédient : L’ensemble des modifications successives (des ingrédients successifs apportés) constituera alors une recette . C’est le tout « Ingrédients + Recette » qui va composer la data préparation de Talend.
NB : Il n’existe pas de fonction de sauvegarde sur TDP : toutes les modifications que vous effectuerez sur votre jeu de données seront instantanément enregistrées.
Exemple : dans l’illustration ci-dessous, il y a eu suppression de la première ligne du jeu de données.
Un menu s’est ouvert sur la gauche, incluant la tâche qui venait d’être effectuée (ici « Delete Line#1 »)
La recette de la data préparation débute donc avec l’ingrédient « Delete Line#1 »
NB : Il est également possible de donner un nom à cette recette (qui détient par défaut le nom du fichier qui a été chargé) : cf la zone bleutée dans l’image ci-dessus.
La recette s’allonge au fil des transformations effectuées sur le dataset. La recette prend alors la forme d’un processus linéaire contenant l’enchaînement des différentes opérations effectuées par l’utilisateur.
Chacune des étapes de ce processus est un pallier. Ce dernier est matérialisé par un bouton circulaire vert.
Il est possible de visualiser des états passés du jeu de données en annulant des étapes du script. Pour se faire, on clique sur le bouton correspondant à l’étape à partir de laquelle on souhaite annuler la préparation (voir ci-contre).
On « coupe » alors temporairement une partie de la recette. Les boutons situés en dessous de l’étape annulée perdront alors leur teinte verte pour devenir blancs, et la recette ne s’appliquera plus que sur les étapes ayant des boutons verts.
NB :
- Il est possible d’annuler l’entièreté de la recette en cliquant sur l’interrupteur vert (situé à la droite du titre de la data préparation) : vous reviendrez alors sur l’état originel de votre jeu de données.
- Il n’est cependant pas possible d’intercaler des étapes de data preparation entre deux étapes passées.
(En considérant que la dernière étape du script correspond à un instant « t » de la préparation, si vous revenez à un état ultérieur « t-10 » et que vous effectuez une transformation, cette transformation se matérialisera dans le script sous la forme d’une étape à « t+1 », au lieu de devenir la nouvelle étape « t-10 ».)
Une fois votre jeu de données correctement préparé, vous pourrez commencer la phase d’enrichissement.
Talend Data Preparation permet en effet d’importer de nouveaux jeux de données pour réaliser des jointures avec le jeu de données que vous avez préparé (d’où l’importance d’avoir créé un répertoire pour votre préparation lors de la phase d’importation).
Pour ce faire, vous devrez cliquer sur l’icône de jointure de TDP, sélectionner le jeu de données puis les champs que vous désirez apporter à votre dataset initial, puis valider votre transformation.
Génération et exploitation des résultats
A l’issue de la data preparation, il est temps de générer des résultats. On peut obtenir le fichier modifié au format CSV, XLSX, ou tableau : Pour cela, cliquer sur le bouton « Export » situé en haut de l’écran.
On quitte ensuite la préparation en cliquant sur la croix grise en haut à droite de la fenêtre.
Le logiciel demande alors d’effectuer une sauvegarde de la recette (Uniquement si son nom n’a pas déjà été modifié) :
Cliquez sur « SAVE IT » après avoir nommé votre recette.
Vous vous retrouverez alors sur l’écran de votre répertoire de travail :
Vous pouvez maintenant choisir d’ouvrir votre dataset avec la recette que vous venez de créer ou avec une toute autre recette (précédemment crée sur un autre jeu de données ayant la même structure) :
NB : Vous pouvez copier votre jeu de données dans un autre répertoire, mais il faut savoir que celui-ci reviendra dans ce cas à son état brut et perdra sa recette.
La grande valeur ajoutée de la data préparation réside dans l’automatisation du travail de transformation des données. La fonction qui vous permettra de le faire sera la suivante :
« Update dataset with another file » permettra en effet d’appliquer les transformations de votre recette sur les futures nouvelles versions de votre jeu de données. Là où l’on se contentait, avec un tableur, de réitérer périodiquement chaque transformation à la main, l’outil de Talend va, au contraire, proposer une automatisation du processus de transformation de vos jeux de données : c’est un gain de temps significatif lorsque l’on travaille avec une volumétrie importante ! D’autant plus que TDP, contrairement à un tableur, vous assure d’avoir une qualité de données optimale !
Plus de détails concernant la mise à jour d’un jeu de données avec TDP
Une recette est propre à un jeu de données « A ». Pour appliquer sa recette à une nouvelle version de « A », notée « B » :
- Avoir préparé le dataset A avec sa recette de data préparation : On obtient le jeu de données A’.
- Exporter la data préparation A’ au format de son choix pour en avoir une sauvegarde.
Problème : Si « A » (ex : Revenu par client sur l’année 2014) a été mis à jour par un jeu de données « B » (ex : Revenu par client sur l’année 2015), comment tirer parti du travail fait sur « A » ?.
- Télécharger le fichier contenant le jeu de données B,
- Retourner sur le répertoire de travail de A’,
- Passer la souris sur la zone de la data préparation A’ : La zone bleuit et des options apparaissent sur la droite,
- Une fois ces options apparues : Cliquer sur l’option « Uptade dataset with another file » : sélectionner le fichier contenant le jeu de données B.
Talend charge alors le fichier qui va apparaître sur votre fenêtre.
- Le fichier apparaît. Il a normalement un aspect brut, comme si la recette de data préparation n’avait pas été appliquée : Quitter le fichier
- Retourner sur le fichier : La recette qui a permis de transformer A en A’ s’est alors automatiquement appliquée à B, donnant naissance à un jeu de données préparé – et propre – B’. Plus besoin de réitérer un travail qui a déjà été effectué une fois.
Enfin, caractéristique d’importance, la version Enterprise du logiciel pourra être connectée à des sorties de données issues des jobs de Talend Data Intégration (l’ETL de Talend). Réciproquement, les scripts de data préparation pourront être convertis en composants de recettes utilisables dans les jobs de l’ETL.
Synthèse
Points forts |
Axes d’amélioration |
La transformation automatique de vos futurs jeux de données grâce au script. | Les fonctions du logiciel ne sont pas rapidement accessibles, et leur utilisation peut parfois sembler rigide. |
Votre script de data préparation devient un composant Talend. | Pas de possibilité d’effectuer des switch entre les recettes. |
La fonction « Preview » permet d’appliquer les bonnes transformations de données en évitant de faire des erreurs. | Absence de profiling utilisateur (un système permettant de sélectionner des données à même les cellules pour que le logiciel en propose des transformations pertinentes). |
Qualité des données (barres et indicateurs de qualités, grande quantité de données reconnues) irréprochable. | Il est pour le moment impossible d’effectuer des opérations sur plus de deux colonnes à la fois. |
Des représentations statistiques qui facilitent l’exploration des données. | Il est pour le moment impossible de modifier l’enchaînement des étapes de la recette (changer l’ordre d’apparition de deux ingrédients). Il n’est pas non plus possible d’annuler (mettre en pause) une étape particulière dans la recette. Ces deux points font qu’il faut être sûr de ses transformations. |
Une interaction entre les barres de qualité, les représentations statistiques et les données. | On peut mettre à jour un jeu de données grâce aux recettes, mais on n’a pas de versioning. |
Chaque modification se retrouve enregistrée dans la recette, qui peut alors être lue et rapidement comprise par une autre personne. | |
Le support de Talend est très réactif (par mail ou sur le forum). | |
La sauvegarde automatique permet d’éviter de perdre son travail. | |
Les actions de nettoyage grâce aux filtres sont très efficaces. | |
Un accompagnement dans la prise en main sous la forme de tutoriels. |
Sections commentaires non disponible.