‘Data Preparation’ : Cas pratique avec Trifacta Wrangler

Pour continuer à se familiariser avec les outils de Data Preparation présentés dans l’article « Qu’est-ce que la ‘Data Preparation’ et à quoi sert-elle ? », et maintenant que nous avons découvert le fonctionnement de Talend Data Preparation, nous allons aujourd’hui mettre en pratique un cas concret avec Trifacta Wrangler.

Dans cet exemple, les données ne sont pas très propres. Nous allons tenter de corriger les valeurs manquantes, éliminer les valeurs aberrantes, enrichir le jeu avec une autre source, et construire une adresse email à partir de colonnes existantes.

Etape 1 : Chargement des données

Lancer Trifacta Wrangler :

Interface Trifacta Wrangler

Dans la barre horizontale haute, nous remarquons les trois Eléments essentiels, FLOWS (Flux), DATASETS (Sources), RESULTS (Résultats) ainsi que l’interface de chaque élément.

Créer un nouveau Flux de travail et le nommer Flux_ASI :

Create flow - flux Trifacta Wrangler

FluxASI

Ajouter les DATASETS (sources), soit par drag & drop (glisser-déposer), ou en cliquant sur Choose File :

import_dataset-Trifacta

  • le premier (SALARIES) servira de flux primaire
  • le second (DOMAINE_COMPAGNIE) contient 2 colonnes (nom et mail de l’entreprise). La jointure avec le premier se fera sur le champ ‘company’.

Datasets

Etape 2 : Découverte des données

Une fois le DATASET ajouté, Trifacta propose un premier tableau de bord :

Il permet de voir la constitution du flux (dans le volet à droite, nous pouvons voir un premier aperçu des données ainsi que les premières étapes de la recette).

Espace_Flux

  • Dans le volet à droite, cliquer sur ‘Edit Recipe’ pour aller à l’interface principale

Voir_données_Edit-recipes_Trifacta

L’interface principale propose un tableur pour visualiser les données :

A droite, le volet permet de voir la recette. En bas, un builder contient l’ensemble des fonctions de transformations.

Interface_prin

Pour chaque colonne, une barre de Data Quality est présente, avec trois couleurs : verte (valeurs valides), rouge (valeurs invalides) et noire (valeurs nulles). En cliquant sur chaque tranche, il est possible d’accéder aux actions pouvant être appliquées à cette masse de données. Dans notre cas, nous allons accéder à la première colonne, et voir les détails de la colonne.

Détail_Col

En cliquant sur ‘Column Details’, nous aurons un tableau de bord de Data Profiling de cette colonne.

Data_Profiling

Etape 3 : Nettoyage

Nous allons éliminer les valeurs aberrantes (invalides) et les valeurs nulles :

Nous allons commencer par les valeurs nulles.

  • Cliquer sur la partie noire de la barre de Data Quality, Trifacta suggère un ensemble d’actions
  • Choisir l’action Delete rows where isMissing ([id])
  • Cliquer sur ‘Add to Recipe’. Il est également possible de cliquer sur ‘Modify’ pour avoir une transformation plus adaptée. La force de Trifacta est de pouvoir ajouter des expressions régulières et combiner plusieurs fonctions.

Supp_missingPour les valeurs aberrantes :

  • Cliquer sur la partie rouge de la barre de Data Quality
  • Appliquer l’action Delete rows where ismismatched([id], [‘Integer’])
  • Cliquer sur ‘Add to Recipe’

actions_abberantes

  • Répéter ces actions pour toutes les colonnes du jeu de données.

Nous allons maintenant supprimer les espaces de toutes les colonnes :

  • Sélectionner les colonnes concernées avec Ctrl+Clic
  • Cherche la fonction Remove whitespaces() qui se trouve dans le menu ‘Format’, et l’appliquer pour toutes les colonnes

remove whitespaces

Nous allons créer deux nouvelles colonnes, qui contiendront respectivement le firstname et lastname de la personne afin de les mettre en minuscule :

Nous allons les appeler respectivement Email_Firstname et Email_Lastname :

  • Cliquer sur le menu déroulant de la colonne
  • Dans Format, chercher la fonction to lowercase ()
  • Dans le builder des options de paramétrages, choisir la formule, et renommer la nouvelle colonne Email_First_Name.

lowercase

  • Répéter cette action pour la colonne last_name

Etape 4 : Enrichissement

Nom de domaine de l’entreprise

Nous allons, dans cette étape, enrichir le jeu de données avec un nouveau flux, afin d’extraire le nom du domaine de l’entreprise pour chaque salarié :

  • Cliquer sur le menu déroulant de la colonne company
  • Choisit Lookup, une nouvelle fenêtre apparait pour choisir le DATASET concerner par la jointure
  • Choisir le DATASET ‘Domaine_Compagnie’

lookupzoom

L’étape 2 du Lookup consiste à choisir l’attribut de jointure dans le DATASET secondaire :

  • Choisir ‘company’
  • Exécuter le Lookup

Look_up_col

Une fois le fichier chargé, nous allons construire la colonne ‘EMAIL’.

Comme Trifacta propose de faire nos propres formules, nous allons sélectionner les trois colonnes concernées, puis nous allons appliquer la fonction Merge() sur les trois colonnes avec un tiret entre le firstname et lastname et un @ entre la colonne résultante et le domaine_compagny.

La figure suivante montre comment nous avons pu combiner plusieurs fonctions pour construire une formule.

Dans notre exemple, nous avons fait plusieurs étapes en une seule grâce à la formule suivante :

MERGE ([MERGE([Lower(first_name),Lower(last_name)], ‘-’),email_domain], ’@’).

combiner-fonctions-formule

Etape 5 : Validation et Publication

En haut à droite, Trifacta permet de générer le résultat des transformations.

Validation Trifacta

Avec la version gratuite, il est possible d’exporter les résultats sous trois formats : CSV, JSON et TDE.

generate results trifacta

Le résultat sera publié dans le logiciel lui-même. Pour le voir, cliquer dessus afin d’avoir un tableau de bord résumant le résultat obtenu.

results summary trifacta

Conclusion

L’arrivée de la Big Data engendre forcément une explosion d’outils qui permettent aux entreprises de tirer profit de leurs données. Les éditeurs de ces solutions essayent de fournir des outils simples permettant à l’utilisateur sans compétences informatiques de se les approprier facilement.

Le domaine de la data preparation suit cette logique de vulgarisation (démocratisation). Cependant les outils qui permettent de le faire sont encore jeunes. Les solutions ne sont pas complètes ; plusieurs défis attendent les éditeurs.

La data preparation pourra permettre aux entreprises de passer plus de temps dans l’analyse des données, permettant d’accélérer les projets et d’avoir de meilleurs résultats.

Qu’est-ce que la ‘Data Preparation’ et à quoi sert-elle ?

Selon Experian, 92% des entreprises n’ont pas confiance en leur données et 56% des entreprises sondées n’arrivent pas à prendre des décisions souhaitées. Gartner, de son côté, parle de la nouvelle BI et de la BI en self-service ; Il prévoit que d’ici 2020, la moitié des efforts consentis dans l’intégration des données passeront par des plateformes de la Data Preparation.

Aujourd’hui, un utilisateur ou un Data-Analyste passe 80% de son temps pour avoir des données propres et exploitables. Un autre problème auquel doivent faire face ces deux acteurs est le partage et la gouvernance des données.

Dans cet article, nous allons parler du domaine de la préparation des données, ainsi que des problématiques, des motivations, et du marché de la Data Preparation. Nous conclurons dans un prochain article par un atelier technique sur les deux outils leaders de ce marché : Trifacta et Talend Data Preparation.

Quelques Définitions

  • Data-Quality : Traitement d’amélioration de la qualité des données, permettant à l’utilisateur d’offrir des données fraîches, accessibles, fiables, cohérentes et exploitables.
  • Data-Wrangling : Processus de transformation des données d’une manière visuelle et interactive.
  • Data-Profiling : Processus de collecte des données et des statistiques sur ces données.
  • Data-Preparation : Ensemble des étapes (Découverte, Structuration, Nettoyage, Enrichissement, Validation, Publication) qui viennent en amont de la restitution des données.

Étapes de la Data Preparation

etapes data preparation

Problématiques de la Data Preparation

  • 80 % du temps d’un processus (BI/Big Data) est dans la préparation des données
  • Complexité de la construction d’un Data Warehouse
    • Le développement prend un temps énorme (problème de la fraîcheur des données)
    • Architecture Rigide (enrichissement, nouveau besoins)
  • Intégration et alimentation complexe
  • Faiblesse des outils de préparation classiques
    • Pas de gouvernance de données
    • Ne supportent pas le passage à l’échelle
    • Découverte et transformation difficile

Motivations et promesses de la Data Preparation

  • L’analytique en self-service
  • Gouvernance et collaboration
  • Accélération de l’exploitation des données

Cas d’utilisation des outils de la Data Preparation

Certains d’entre vous se posent déjà la question suivante : « Puis-je tirer profit de ces outils, comment et dans quels cas ? »

Nous avons détecté dans notre analyse des cas d’utilisation réels où ces outils peuvent être mis en œuvre afin d’apporter de la valeur dans les projets de la transformation des données.

  1. L’entreprise manque de compétences ETL

Dans le cas où l’entreprise ne possède pas des compétences ETL, et celle-ci a besoin de nettoyer et transformer ses données, les outils de la Data Preparation sont là pour subvenir à ses besoins. Cependant, ces outils ne remplacent pas un processus ETL, ils peuvent remplacer quelques besoins de transformation comme ils peuvent être associés à un processus, en apportant une certaine agilité dans le processus ETL. Talend mise beaucoup sur ce dernier point.

  1. Besoin de données fraîches

Dans le cas où la fraîcheur des données est importante (marchés financiers…), les données doivent être préparées dans les plus brefs délais, sans créer une architecture lourde (comme la constitution d’un Data Warehouse) et sachant que les flux de données ainsi que les besoins diffèrent chaque jour.

  1. Variété et vélocité dans la Big Data

La vélocité et la variété des types et des structures de données exigent de nouvelles stratégies pour l’identification et la rationalisation des données dans un système d’information.

Comme dans les plateformes big data, il peut y avoir une variété importante de données avec différentes structures, ne permettant pas le traitement avec un processus ETL unique standard. En construisant un nouveau processus, nous pouvons perdre en vélocité. Ces plateformes de la Data Preparation pourront limiter cette perte en vélocité. En effet, l’utilisateur pourra s’adapter à cette variation des données, et traiter chaque cas d’une manière manuelle selon son besoin.

Outils de la Data Preparation

Gartner classe ces outils en trois grandes familles :

Outils data preparation

Outils leaders dans la Data Preparation

Outils leaders data preparation

Démonstration

Pour se familiariser avec ces outils, nous mettrons en pratique -dans un prochain article- un cas concret avec Talend Data Preparation, puis avec  Trifacta.

Dans ce cas concret, les données ne seront pas très propres. Nous tenterons de corriger les valeurs manquantes, éliminer les valeurs aberrantes, enrichir le jeu avec une autre source, et construire une adresse email à partir de colonnes existantes.

%d blogueurs aiment cette page :