Scénario : Extraire des noms, des domaines et domaines de premier niveau à partir d'adresses e-mail - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job à trois composants dans lequel le tExtractRegexFields est utilisé pour définir une expression régulière correspondant à l'une des colonnes des données d'entrée. Dans ce scénario, il s'agit de la colonne email. Le composant tExtractRegexFields est également utilisé pour trouver les correspondances avec ladite expression régulière. Cette expression comprend des identifieurs de champ permettant de séparer le nom d'utilisateur, le nom de domaine ainsi que le nom du domaine de premier niveau pour chaque adresse e-mail. Si l'adresse e-mail est valide, ces trois parties sont extraites et affichées sur la console dans trois colonnes différentes. Les données des deux autres colonnes d'entrée, id et age, sont également extraites puis redirigées.

Construire le Job

  1. A partir de la Palette, cliquez-déposez les composants suivants dans l'espace graphique : le tFileInputDelimited, le tExtractRegexFields et le tLogRow.

  2. Connectez le tFileInputDelimited au tExtractRegexFields à l'aide d'un lien Row > Main, puis reliez le tExtractRegexFields au tLogRow via un autre lien Row > Main.

Configurer les composants

  1. Dans l'espace graphique, double-cliquez sur le composant tFileInputDelimited pour définir sa configuration de base.

  2. Cliquez sur le bouton [...] à côté du champ File Name/Streampour définir le chemin d'accès au fichier d'entrée.

    Dans ce scénario, le fichier d'entrée utilisé est test4. Il s'agit d'un fichier texte comportant trois colonnes : id, email et age.

    id;email;age
    1;anna@yahoo.net;24
    2;diana@sohu.com;31
    3;fiona@gmail.org;20

    Pour plus d'informations, consultez tFileInputDelimited.

  3. Cliquez sur le bouton [...] du champ Edit schema pour définir la structure des données du fichier d'entrée.

  4. Dans l'espace graphique, double-cliquez sur le composant tExtractRegexFields pour définir sa configuration de base (Basic settings).

  5. A partir de la liste déroulante Field to split, sélectionnez la colonne à séparer, à savoir email dans ce scénario.

  6. Dans le panneau Regex, renseignez l'expression régulière à utiliser pour effectuer la correspondance. Dans ce scénario, une expression régulière "([a-z]*)@([a-z]*).([a-z]*)" est utilisée pour mettre en correspondance les trois parties d'une adresse e-mail : utilisateur, domaine et domaine de premier niveau.

    Pour plus d'informations concernant les expressions régulières consultez http://fr.wikipedia.org/wiki/Expression_rationnelle.

  7. Cliquez sur Edit schema pour ouvrir la boîte de dialogue [Schema of tExtractRegexFields], cliquez cinq fois sur le bouton [+] pour ajouter cinq colonnes au schéma.

    Dans ce scénario, vous allez diviser la colonne d'entrée email en trois colonnes dans le flux de sortie, name, domain et tld. Les deux autres colonnes d'entrée seront extraites telles qu'elles sont.

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

  9. Dans la zone Mode, sélectionnez Table (print values in cells of a table).

Exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour enregistrer votre Job.

  2. Appuyez sur F6 pour l'exécuter, ou cliquez sur l'onglet Run, dans la vue Run.

Le composant tExtractRegexFields effectue une correspondance entre toutes les adresses e-mail données et l'expression régulière définie, puis extrait le nom d'utilisateur, le domaine et le domaine de premier niveau, qu'il affiche sur la console dans trois colonnes séparées. Les deux autres colonnes, id et age, sont extraites telles quelles.