Routines système de qualité de données

Talend Data Fabric Studio Guide utilisateur

EnrichVersion
6.5
EnrichProdName
Talend Data Fabric
task
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Dans votre studio, il existe plusieurs types de routines système de qualité de données. Les sections suivantes décrivent ces routines.

Les routines DataQuality

Les routines DataQuality sont des portions de code permettant d'analyser et de nettoyer vos données. Vous pouvez donc les utiliser dans les paramètres des composants de qualité de données dans un Job Talend.

Pour accéder à ces routines :

  1. Dans la vue Repository de votre Studio, développez le nœud Code > Routines > system.

  2. Double-cliquez sur DataQuality.

Le tableau ci-dessous décrit ces routines :

Routine

Description

Syntaxe

getTitle

Retourne le titre extrait d'une liste de titres donnée.

DataQuality.getTitle

getNameWithoutTitle

Retourne la chaîne de caractères sans le titre.

DataQuality.getNameWithoutTitle

getNameWithoutSuffix

Retourne la chaîne de caractères sans le suffixe.

DataQuality.getNameWithoutSuffix

getLastName

Retourne uniquement la valeur LastName (nom de famille) de la chaîne.

DataQuality.getLastName

getCleansedLastName

Retourne la chaîne de caractères sans le titre ni le suffixe.

DataQuality.getCleansedLastName

isValidName

Retourne true si la chaîne de caractères est un nom valide ou  false si la chaîne de caractères est un nom invalide : [Initiale] Prénom [Initiale] Nom de famille.

DataQuality.isValidName

Les routines DqStringHandling

Les routines DqStringHandling sont des portions de code permettant d'effectuer certaines tâches de qualité de données sur des ensembles de caractères. Vous pouvez donc les utiliser dans les paramètres des composants de qualité de données dans un Job Talend.

Pour accéder à vos routines :

  1. Dans la vue Repository de votre Studio, développez le nœud Code > Routines > system

  2. Double-cliquez sur DqStringHandling.

Le tableau ci-dessous décrit ces routines :

Routine

Description

Syntaxe

containsOnlyInitials

Retourne true si la chaîne de caractères contient uniquement des initiales telles que "A", "A.", "A.I." ou "A.I.D.S".

DqStringHandling.containsOnlyInitials

makeSafe

Retourne une chaîne de caractères lorsque la chaîne données est null.

DqStringHandling.makeSafe

safeTrim

Retourne la chaîne de caractères dont les espaces ont été retirés en début et fin de champ ou la chaîne vide lorsque la chaîne de caractères est null.

DqStringHandling.safeTrim

safeConcat (String str1, String str2, séparateur de caractères)

Retourne la concaténation des chaînes de caractères dont les espaces ont été retirés en début et fin de champ. Le caractère séparateur est utilisé lorsqu'aucune des chaînes de caractères données n'est vide ou null.

DqStringHandling.safeConcat

safeConcat (séparateur de caractères, String... strings)

Retourne la concaténation des chaînes de caractères dont les espaces ont été retirés en début et fin de champ. Le caractère séparateur est utilisé lorsqu'aucune des chaînes de caractères données n'est vide ou null.

DqStringHandling.safeConcat

validAscii

Valide ou non le format ascii.

DqStringHandling.validAscii

Scénario : Traiter des chaînes de caractères en utilisant des routines DqStringHandling

Ce scénario comprend un Job à trois composants Job qui utilise plusieurs routines DqStringHandling simultanément afin de traiter plusieurs chaînes de caractères données.

Les trois composants de ce Job sont les suivants :

  • un tFixedFlowInput : ce composant fournit les chaînes de caractères à traiter par les routines DqStringHandling sélectionnées.

  • un tMap : ce composant transforme les chaînes de caractères données en utilisant les routines DqStringHandling sélectionnées.

  • un tLogRow : ce composant affiche le résultat de l'exécution de ce Job.

Déposer et relier les composants

  1. A partir de la Palette, déposez le tFixedFlowInput, le tMap et le tLogRow dans l'espace de modélisation graphique.

  2. Cliquez-droit sur le tFixedFlowInput pour ouvrir le menu contextuel, sélectionnez Row > Main puis connectez-le au tMap.

  3. Procédez de la même manière pour connecter le tMap au tLogRow en utilisant le lien Row > *New Output* (Main) puis nommez ce lien dans la boîte de dialogue qui s'affiche lorsque vous cliquez sur le tLogRow pour créer ce lien. Pour ce scénario, nommez-le out.

Configurer le premier composant

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [..] à côté d'Edit schema pour ouvrir l'éditeur de schéma.

  3. Cliquez sur le bouton [+] à quatre reprises pour ajouter quatre lignes.

  4. Renommez ces quatre lignes, par exemple, Entity_stringstr1str2 et str3. Assurez-vous que les types affichés dans la colonne Type de ces lignes sont définis en String.

    Si un type n'est pas String, cliquez dessus et sélectionnez String dans la liste déroulante qui apparaît.

  5. Cliquez sur OK pour valider ces modifications et fermer l'éditeur de schéma.

  6. Dans la zone Mode de la vue Component, sélectionnez Use Inline Content (delimited file). Le champ Content apparaît.

  7. Dans le champ Content, saisissez quatre chaînes de caractères correspondant au nombre de lignes définies dans le schéma du composant et les séparer en utilisant le séparateur de champ qui est affiché dans le champ Field Separator. Par défaut, le séparateur de champ est ; et vous pouvez le personnaliser si besoin. Les chaînes saisies pour ce scénario sont U.S.A. (un espace est saisi devant la lettre U, celui-ci sera retiré par la routine utilisée), GlobalBusinessServices.

    L'ensemble des chaînes de caractères saisies se présente comme suit : U.S.A. ; Global ; Business ; Services.

Configurer le composant tMap

  1. Double-cliquez sur le tMap pour ouvrir son éditeur.

  2. En bas à droite de l'éditeur, cliquez sur le bouton [+] pour ajouter huit lignes et renommez-les ainsi : Entity_stringcontians_only_initialssafe_trimcontains_only_initials_after_trimstr1str2str3safe_concat.

    Ces lignes correspondent aux données d'entrée ou aux données traitées par les routines DqStringHandling.

  3. Toujours dans ce tableau, dans la colonne Type, cliquez sur les lignes contains_only_initials et contains_only_initials_after_trim rows puis sélectionnez Boolean pour chacune d'elles dans la liste déroulante.

    En haut de cet éditeur, les nouvelles lignes ont été automatiquement ajoutées à la table de sortie de la partie droite de l'éditeur.

  4. Sur la partie gauche et à partir de la table d'entrée row1, déposez les lignes Entity_stringstr1str2 et str3 dans les lignes correspondantes de la colonne Expression de la table de sortie dans la partie droite de l'éditeur.

  5. Dans la colonne Expression, sélectionnez la ligne contains_only_initials.

  6. Appuyez sur Ctrl+Espace pour ouvrir la liste d'auto-complétion.

  7. A partir de cette liste, sélectionnez DqStringHandling.containOnlyInitials.

  8. Continuez à saisir entre parenthèses les lignes de données à traiter par la routine sélectionnée pour remplacer la routine par défaut. Pour ce scénario, cette ligne est row1.Entity_string.

    Ainsi, l'expression saisie se présente comme suit : Handling.containsOnlyInitials(row1.Entity_string).

    • Procédez de la même manière pour compléter le reste des lignes dans la colonne Expression en utilisant les routines DqStringHandling correspondantes pour chaque ligne. Ainsi, les expressions de ces lignes se présentent comme suit :

    • DqStringHandling.safeTrim(row1.Entity_string) pour la ligne safe_trim ;

    • DqStringHandling.containsOnlyInitials ; (DqStringHandling.safeTrim(row1.Entity_string) ) pour la ligne contains_only_initials_after_trim ;

    • DqStringHandling.safeConcat(' ', row1.Entity_string , row1.str1, row1.str2 , row1.str3) pour la ligne safe_concat.

    Note

    Comme présenté dans ce scénario, différentes routines DqStringHandling peuvent être combinées en une expression pour produire un résultat avancé.

  9. Cliquez sur OK pour valider ces modifications et accepter la propagation proposée dans la boîte de dialogue qui apparaît.

Finaliser et exécuter le Job

  1. Double-cliquez sur le tLogRow pour ouvrir sa vue Component.

  2. Sélectionnez Vertical (each row is a key/value list).

  3. Appuyez sur F6 pour exécuter ce Job.

    Le résultat de l'exécution est affiché dans la console de la vue Run.

En observant ce résultat, vous pouvez voir que la ligne contains_only_initials écrit false en sortie car il y a un espace avant U.S.A. tandis que la ligne contains_only_initials_after_trim écrit true car cet espace a été retiré ; la ligne safe_trim affiche U.S.A. sans espace qui entoure la chaîne de caractères ; la ligne safe_concat écrit U.S.A. Global Business Services en sortie.

Les routines DQTechnical

Les routines DQTechnical sont des portions de code permettant d'effectuer des manipulations avancées de chaînes de caractères. Vous pouvez donc les utiliser dans les paramètres des composants de qualité de données dans un Job Talend.

Pour accéder à ces routines :

  1. Dans la vue Repository de votre Studio, développez le nœud Code > Routines > DQTechnical

  2. Double-cliquez sur DqStringHandling.

Le tableau ci-dessous décrit ces routines :

Routine

Description

Syntaxe

extractTitle

Retourne le titre extrait d'une liste de titres donnée.

DQTechnical.extractTitle

removeTitle

Retourne la chaîne de caractères sans le titre.

DQTechnical.removeTitle

extractLastName

Retourne la chaîne de caractères sans le nom de famille.

DQTechnical.extractLastName

removeNameSuffix

Retourne la chaîne de caractères sans le suffixe.

DQTechnical.removeNameSuffix

isNameStringValid

Retourne true si la chaîne de caractères est un nom valide ou  false si la chaîne de caractères est un nom invalide : [Initiale] Prénom [Initiale] Nom de famille.

DQTechnical.isNameStringValid