Scénario : Parser des adresses par rapport aux données de Loqate - 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 :

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

  • utilisant un composant tLoqateAddressRow pour parser, standardiser et formater les adresses des Etats-Unis générées par le tFixedFlowInput,

  • utilisant un tFileOutputExcel pour écrire en sortie les adresses correctes et formatées dans la console.

Prérequis : Avant de pouvoir utiliser le composant tLoqateAddressRow, vous devez commander et télécharger l'API Loqate Local API et le Global Knowledge Repository sur le site http:// www.loqate.com/ (en anglais).

Le composant tLoqateAddressRow utilise la version Q4, 2012.

Construire le Job

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

  2. Reliez les 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.

    Dans la boîte de dialogue, cliquez sur le bouton [+] et ajoutez les colonnes qui contiendront les informations des adresses d'entrée, par exemple : address_input, COUNTRY et data_description.

  3. Cliquez sur OK.

  4. Dans le champ Number of rows, paramétrez le nombre de lignes à 1.

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

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

    Boise Town Square  421 N Cole Rd   83704,,wrong data
    Boise Capitol 280 S Capitol Blvd  83702,us,both address coutry correct
    Federal Way  3563 South Federal Way    83705,US, both correct
    Salmon Creek In-Store (ALB) 14300 NE 20th Ave Ste.B-101  Vancouver WA 98686,US,both correct
    Battle Ground   2500 West Main Street,,no country;address miss(Battle Ground WA 98604 )
    Battle Ground   2500 West abcd Street,,no country address changed
    south southjkjkjkjkjkj,,wrong data

Configurer le composant tLoqateAddressRow

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

  2. Cliquez sur le bouton Edit schema et définissez dans le schéma de sortie toutes les colonnes nécessaires afin de contenir les adresses formatées que vous souhaitez obtenir du tLoqateAddressRow.

    Deux colonnes de sortie sont en lecture seule : STATUS et ACCURACYCODE. La première retourne le statut des adresses d'entrée traitées. Pour plus d'informations concernant le statut du traitement, consultez Statut du traitement dans le tLoqateAddressRow. La seconde colonne en lecture seule retourne le code de vérification des adresses traitées. Pour plus d'informations concernant les valeurs dont se compose ce code et les implications de chaque segment, consultez Codes de vérification d'adresses dans le tLoqateAddressRow.

    Dans cet exemple, utiliser la colonne address-input du schéma de sortie permet d'écrire en sortie l'adresse d'entrée. Cela peut être utile pour comparer comment les éléments d'adresse ont été parsés et standardisés.

  3. Cliquez sur OK pour accepter la propagation des modifications.

  4. Dans la table Input Address :

    • ajoutez des lignes en cliquant sur le bouton [+],

    • dans la colonne Address Field, cliquez sur une ligne et sélectionnez dans la liste les champs, prédéfinis dans le composant, contenant l'adresse d'entrée, Address et Country dans cet exemple.

    • dans la colonne Input Column, cliquez sur une ligne et sélectionnez dans la liste du schéma d'entrée les colonnes contenant l'adresse d'entrée, address-input et COUNTRY dans cet exemple.

  5. Dans la table Output Address :

    • ajoutez des lignes en cliquant sur le bouton [+],

    • dans la colonne Address Field, cliquez sur une ligne et sélectionnez dans la liste les champs, prédéfinis dans le composant, contenant l'adresse de sortie.

      Le composant mappe les valeurs de ces champs vers les colonnes de sortie définies dans cette table.

      Le tLoqateAddressRow fournit une longue liste de champs individuels, car certains pays ont une structure d'adresses plus complexe que d'autres. Pour plus d'informations concernant les champs de sortie, consultez Champs d'adresses dans le tLoqateAddressRow.

    • dans la colonne Output Column, cliquez sur une ligne et sélectionnez dans la liste les colonnes qui contiendront les données de l'adresse standardisées en sortie.

  6. Dans le champ Loqate Data Path, configurez le chemin d'accès au dossier de données Loqate fourni par Loqate et installé localement.

Paramétrer un argument JVM et finaliser le Job

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

  2. Configurez le chemin d'accès, dans le champ File Name ainsi que le nom de la feuille, dans le champ Sheet name et cochez les cases Include header et Define all columns auto size.

  3. Cliquez sur l'onglet Run puis sur la vue Advanced settings.

  4. Cochez la case Use specific JVM arguments et cliquez sur New....

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

    Dans cet argument, vous devez indiquer le dossier où est installée la bibliothèque Loqate, nommée libloqatejava.so sous Linux ou loqatejava.dll sous Windows.

    Sans le bon argument JVM configuré, l'erreur suivante est attendue : java.lang.Error: java.lang.UnsatisfiedLinkError.

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

    Le composant tLoqateAddressRow lit les données des adresses d'entrée. Il parse, vérifie, nettoie, standardise les adresses et donne les résultats dans les lignes de sortie définies dans le schéma de sortie.

    Le tLoqateAddressRow met en correspondance les adresses d'entrée par rapport au fichier de données Loqate téléchargé localement.

    La colonne de sortie STATUS standard retourne le statut psOK pour toutes les lignes d'adresses. Cela signifie que le processus de vérification de toutes les lignes d'adresses peut s'effectuer normalement via le composant. Pour plus d'informations concernant le statut du processus, consultez Statut du traitement dans le tLoqateAddressRow.

    La colonne de sortie ACCURACYCODE standard retourne un code de vérification pour chacune des lignes d'adresse traitée. Par exemple, le premier code de vérification, V44-I45-P7-100, signifie :

    • Le statut de vérification = V (vérifié) : une correspondance complète a été trouvée entre l'adresse d'entrée et un enregistrement des données de référence disponibles.

    • Niveau de correspondance de la vérification après traitement = 4 (site) : le niveau de correspondance des données d'entrée par rapport aux données de référence disponibles une fois toutes les modifications et les ajouts effectués durant le processus de vérification ont été pris en compte.

    • Niveau de correspondance de la vérification avant traitement = 4 (site) : le niveau de correspondance des données d'entrée par rapport aux données de référence disponibles avant tout ajout ou modification effectué(e) durant le processus de vérification.

    • Statut du parsing (analyse) = I (identifié et parsé) : tous les composants des données d'entrée ont pu être identifiés et placés dans des champs de sortie.

    • Niveau de correspondance de l'identification lexicale = 4 (site) : à l'aide d'une correspondance de modèle, une valeur numérique ou un mot a été identifié(e) comme numéro ou nom d'un site.

    • Niveau de correspondance d'identification du contexte = 5 (point de livraison, boîte postale ou appartement) : une valeur numérique ou un mot a été identifié comme numéro de boîte postale ou comme nom d'appartement.

    • Statut du code postal = P7 (ajouté) : le code postal primaire du pays a été vérifié et un second code postal a été ajouté.

    • Score de correspondance = 100 (similarité parfaite) : les données d'entrée et leur correspondance la plus proche correspondent parfaitement.

    Pour plus d'informations concernant les valeurs dont se compose le code ainsi que les implications de chaque segment, consultez Codes de vérification d'adresses dans le tLoqateAddressRow.