Scénario: Modifier des adresses par rapport à un fichier Melissa Data - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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 qui :

  • utilise un composant tFixedFlowInput pour générer les données d'adresses à analyser,

  • utilise un composant tMelissaDataAddress pour analyser le schéma d'entrée ainsi que valider, corriger et standardiser les adresses des États-Unis générées par le tFixedFlowInput,

  • utilise un tLogRow afin d'écrire en sortie les adresses correctement formatées, dans la console.

Prérequis :

Pour récupérer les données de longitude et latitude, ainsi que les codes de résultat de GeoCode, vous devez avoir acheté une licence GeoCode ou GeoPoint.

Afin de réussir l'exécution d'un Job contenant le composant tMelissaDataAddress, vous devez avoir installé Melissa Data, avec les fichiers de données de GeoPoint et GeoCode.

Vous devez également ajouter le chemin vers le dossier contenant la bibliothèque mdAddr à vos variables d'environnement système.

Par exemple :

  • sous Linux : export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<chemin vers le dossier contenant libmdAddr.so>.

  • sous Windows : PATH=%PATH%;<chemin vers le dossier contenant mdAddr.dll>.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tFixedFlowInput, tMelissaDataAddress et tLogRow.

  2. Connectez les trois composants à l'aide de liens Main.

Configurer le composant d'entrée

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

  2. Créez le schéma, en cliquant sur le bouton Edit Schema.

    Cliquez sur le bouton [+] pour ajouter les colonnes qui contiendront les données d'adresse à votre schéma d'entrée. Dans cet exemple, ajoutez les colonnes suivantes : input_company, input_address1, input_address2, input_city, input_state et input_postal, de type String.

  3. Cliquez sur OK.

  4. Dans le champ Number of rows, configurez le nombre de lignes à 1.

  5. Dans la zone Mode, sélectionnez l'option Use Inline Content (delimited file) et configurez le séparateur de lignes (Row Separator) et le séparateur de champs (Field Separator).

  6. Dans le tableau Content, saisissez les données d'adresses que vous souhaitez analyser, par exemple :

    Talend Inc.|5150 El Camino Real|Suite C-31|Los Altos||94022|
    Talend Inc.|6 Executive Circle|Suite 200|Irvine|California|92614|
    Talend Inc.|220 White Plains Road|Suite 390|Tarrytown|New York|10591|
    Talend Inc.|8 New England Executive Park|Suite 170|Burlington|Massachusetts|01803|

Configurer le composant tMelissaDataAddress

  1. Double-cliquez sur le tMelissaDataAddress pour afficher sa vue Basic settings.

  2. Cliquez sur Sync columns afin de récupérer le schéma du composant précédent.

  3. Cliquez sur le bouton Edit schema pour voir les schémas d'entrée et de sortie et les modifier, si nécessaire.

    Des colonnes en lecture seule sont ajoutées au schéma de sortie : COMPANY_STANDARDIZED, ADDRESLINE1_STANDARDIZED, ADDRESLINE2_STANDARDIZED, CITY_STANDARDIZED, STATE_STANDARDIZED, POSTAL_STANDARDIZED, COUNTRY_STANDARDIZED et RESULTS_CODE. Dans le schéma du composant se trouvent de nombreuses colonnes de sortie standards en lecture seule. Ces colonnes de sortie retournent le nom standard des villes et des entreprises, des adresses de deux lignes, le code État et le code pays, des codes postaux et des codes de résultat.

  4. Cliquez sur OK pour fermer la boîte de dialogue.

  5. Dans la table Input Address :

    • cliquez sur le bouton [+] pour ajouter des lignes à la table.

    • cliquez dans la colonne Address Field et sélectionnez dans la liste prédéfinie les champs contenant les données des adresses d'entrée.

      Le composant va mapper les valeurs des ces champs vers les colonnes d'entrée définies dans la table.

    • cliquez dans la colonne Input Column et sélectionnez dans la liste les colonnes du schéma d'entrée contenant les données des adresses d'entrée à parser.

  6. Dans la table Output Address, vous pouvez définir les champs d'adresse supplémentaires :

    • cliquez sur le bouton [+] pour ajouter des lignes à la table. Ces lignes vont contenir les informations supplémentaires à récupérer de Melissa Data, comme la clé d'adresse, le nom du pays ou les données de longitude et de latitude.

    • cliquez dans la colonne Address Field et sélectionnez dans la liste prédéfinie les champ contenant les données d'adresses de sortie.

      Le composant va mapper les valeurs de ces champs vers les colonnes de sortie définies dans la table.

    • cliquez dans la colonne Output Column et sélectionnez dans la liste les colonnes du schéma de sortie qui contiendront les informations supplémentaires.

    Si vous cliquez sur Sync Columns après avoir ajouté des colonnes au schéma de sortie, ces colonnes ajoutées sont supprimées.

  7. Dans le champ Specify your MelissaData license, configurez votre clé de licence fournie par Melissa Data lors de la commande de Data Quality Suite ou de l'API Address Object.

    Si la clé de licence saisie n'est pas correcte, vous pouvez utiliser GeoCoder en mode démo.

  8. Dans le champ Specify your MelissaData DataFile folder, configurez le chemin d'accès au dossier "data" de Melissa Data data fourni par Melissa Data.

  9. Dans la vue Advanced settings du composant, sélectionnez la licence achetée.

    Si vous n'avez pas acheté de licence GeoPoint ou GeoCode, sélectionnez No Melissa GeoCoder License Was Purchased pour exécuter le Job. Notez que vous ne pourrez récupérer ni les données de latitude et longitude, ni les codes de résultat de GeoCode.

Configurer un argument JVM et finaliser le Job

  1. Double-cliquez sur le composant tLogRow pour afficher sa vue Basic settings.

  2. Cliquez sur l'onglet Run puis sur l'onglet Advanced settings.

  3. Si vous n'avez pas ajouté le chemin vers le dossier contenant mdAddr.so, sous Linux ou mdAddrJavaWrapper.dll, sous Windows à vos variables d'environnement système, cochez la case Use specific JVM arguments et cliquez sur Next.

  4. Dans la fenêtre qui s'ouvre, configurez l'argument suivant : Djava.library.path=<path/to/mdAddrJavaWrapper.dll/folder/>.

    Dans cet argument, vous devez indiquer le dossier dans lequel la bibliothèque Melissa Data AddressObject nommée libmdAddrJavaWrapper.so, sous Linux et mdAddrJavaWrapper.dll, sous Windows, est installée.

    Si vous ne configurez pas correctement l'argument JVM ou que vous n'ajoutez pas le dossier requis à vos variables d'environnement système, l'erreur suivante est attendue : java.lang.Error: java.lang.UnsatisfiedLinkError.

  5. Sauvegardez votre et appuyez sur F6 pour l'exécuter.

    Le composant tMelissaDataAddress lit les lignes d'adresses en entrée, les corrige et les formate puis affiche le résultat en lignes d'adresses "standardisées" de sortie.

    En plus de vérifier et de standardiser une adresse, le tMelissaDataAddress met également en correspondance le nom des rues par rapport à un code postal, fait correspondre des données géographiques à un code postal et à des informations de villes, puis analyse les rues et retourne tous les résultats via différentes colonnes de sortie. La capture d'écran ci-dessus montre uniquement certaines des colonnes de sorties écrites par le composant tMelissaDataAddress.

    GetAddressKey retourne la clé d'adresse, GetCountryName retourne le nom des pays, GetTimeZone retourne le fuseau horaire, GetLongitude et Get Latitude retournent respectivement les données de longitude et de latitude et GeoCodeResult retourne les codes de résultat dde GeoCode. Vous pouvez récupérer les données de longitude et latitude, ainsi que les codes de résultat de GeoCode, uniquement si vous avez acheté une licence GeoPoint ou GeoCode.

    Ces colonnes de sortie standard retournent le nom standard de l'entreprise, deux lignes d'adresse, le nom standard des villes, les codes États, les codes postaux et les codes pays.

    La colonne de sortie RESULTS_CODE retourne les codes de vérification pour chaque ligne d'adresse traitée. Ces codes sont écrits dans des listes délimitées par des virgules. Chaque code se compose de deux lettres suivies de deux chiffres. Ces codes indiquent différents statuts et erreurs. Par exemple, le code AC02 signifie que le nom de l'état est correct, selon la combinaison du nom de la ville et du code postal. Le code AS01 signifie que le nom de la rue est valide et livrable.

    Pour une liste exhaustive des codes de résultat, pour plus d'informations concernant les colonnes de sortie, consultez le site Web http://www.melissadata.com/ (en anglais).