‘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.

‘Data Preparation’ : Cas pratique avec Talend Data Preparation

Pour se familiariser avec les outils de Data Preparation présentés dans mon précédent article, « Qu’est-ce que la ‘Data Preparation’ et à quoi sert-elle ? », nous allons aujourd’hui mettre en pratique un cas concret avec Talend Data Preparation. Nous ferons de même avec Trifacta dans un prochain article.

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 Talend Data Preparation :

Talend Data Preparation lancement

Créer un nouveau dossier de travail et le nommer ASI_PREPA :

ASI_PREPA

Ajouter 2 Dataset (sources) :

  • 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’.

Data sets

Data-preparation-datasets

Accéder au dossier ASI et cliquer sur ‘ADDPREPARATION’. Ajouter le flux primaire SALARIES, et confirmer :

ADDPREPARATION

Etape 2 : Découverte des données

Nous accédons à l’interface principale :

Interface_data-preparation

Cette interface se décompose en 4 volets principaux :

  • à gauche la recette,
  • au milieu un tableur qui contient les données,
  • en haut à droite les fonctions pouvant être appliquées sur les données
  • en bas un volet de data Profiling

Une barre de Data Quality est présente sur chaque colonne avec 3 couleurs :

Verte (valeurs valides), orange (valeurs invalides) et blanche (valeurs nulles). En cliquant sur chaque tranche, nous accédons aux actions qui peuvent être appliquées à cette masse de données.

Data quality

En cliquant sur une colonne, nous avons accès au menu de Data Profiling où se trouvent 4 onglets qui permettent de mieux comprendre les données :

data profiling

Etape 3 : Nettoyage

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

  • Cliquer sur une colonne
  • Appliquer les actions (Delete the Rows with Empty Cell) et (Clear the Cells with Invalid Values)
  • Appliquer ces actions sur chaque colonne du jeu de données.

Supprimer_invalid-cell

Suppression_empty-cell

Nous allons maintenant supprimer les espaces de toutes les colonnes. Talend a dédié une fonction pour faire cela :

  • Cliquer sur la colonne
  • Chercher la fonction Remove Whitespaces (), et l’appliquer pour toutes les colonnes

RemoveWhitespaces

Nous allons créer deux nouvelles colonnes qui contiendront respectivement le firstname et lastname de la personne :

Le but étant de tout mettre en lettres minuscules. Nous les appellerons respectivement Email_Firstname et Email_Lastname. Pour cela :

  • Cliquer sur la colonne puis sur Duplicate Column
  • Cliquer sur Rename Column

First Name et last nameL’étape suivante consiste à transformer les nouvelles colonnes créées en minuscules :

  • Sélectionner les deux avec un Ctrl+Clic
  • Chercher dans la palette les fonctions Change Style to Lower Case, et l’appliquer sur les deux colonnes.

Lowercase

Maintenant que les deux colonnes sont construites, nous devons les fusionner pour avoir le format firstname_lastname :

  • Sélectionner la colonne Email_First_Name
  • Chercher la fonction Concatenate dans la palette
  • Paramétrer la concaténation et appliquer le changement

concatenate

  • Renommer la colonne
  • Supprimer les colonnes en plus

Etape 4 : Enrichissement

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

  • Sélectionner la colonne ‘company’
  • Cliquer sur l’icône de jointure (que vous verrez ci-dessous)
  • Choisir le Dataset DOMAINE_COMPAGNIE puis valider

jointure look

 

LookupUne fois le fichier chargé, la colonne de jointure est en bleu et les colonnes à garder avec une case à cocher :

Join

  • Confirmer, une nouvelle colonne apparaît alors : ‘EMAIL_DOMAIN’

Pour obtenir la colonne Email sous la forme firstname_lastname@Email_domaine :

Il ne reste maintenant plus qu’à concaténer la colonne ‘Email_First_Name_Last_Name’ avec la nouvelle colonne ‘EMAIL_DOMAIN’ avec un @ comme séparateur, pour obtenir la colonne Email sous la forme firstname_lastname@Email_domaine.

Puis renommer la nouvelle colonne ‘EMAIL’.

EMAIL-FIRST-NAME-EMAIL-LAST-

  • Supprimer les colonnes en plus

Le jeu de données est propre avec l’email de chaque salarié.

Email

Etape 5 : Validation et publication

Talend Data Preparation version gratuite permet d’exporter les résultats sous les formats Excel, CSV, Tableau.

Export

Dans la version entreprise, Talend annonce que la recette pourra être intégrer à un Job Talend.

Job Talend

Nous avons maintenant terminé l’atelier technique de Data Preparation avec Talend Data Preparation, rendez-vous dans un prochain article pour l’atelier Trifacta !

Les données, un levier de croissance encore inexploité

Découvrez cet article très intéressant de Régis Marc sur le blog d’ASI 360, notre cabinet de stratégie et transformation digitale :

Un Constat inquiétant… mais de belles perspectives

L’étude « Données et Entreprises en 2017 »*  commanditée par notre partenaire Experian fait froid dans le dos :

  • Plus de neuf entreprises sur dix (92%) n’ont pas confiance en leurs données !
  • Erronée ou incomplète, la donnée ne permet pas pour 56% des entreprises sondées de prendre les décisions qu’elles souhaitent !

Que ce soit pour être conforme à la réglementation ou pour satisfaire le client, les entreprises françaises vont devoir vite redresser la barre pour donner à la Donnée les lettres de noblesse qu’elle mérite… Lire la suite.

%d blogueurs aiment cette page :