Scénario 2 : Extraire des codes postaux à l'aide de règles DRL créées dans le Studio - 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

Le Job de ce scénario comprend trois composants dont le but est de créer des règles métier de format DRL dans le studio. Vous pouvez utilisez ces règles afin de récupérer des codes postaux pour deux villes spécifiques définies dans les règles.

Créer le modèle de règle DRL

  1. Dans la vue Repository, développez les nœuds Metadata > Rules management.

  2. Cliquez-droit sur Embedded Rules et sélectionnez Create Rule.

  3. Dans l'assistant ouvert, saisissez un nom pour le modèle de règle, renseignez les paramètres et cliquez sur Next.

  4. Sélectionnez l'option Create et, dans la liste Type of rule resource, sélectionnez New DRL.

  5. Cliquez sur Finish.

    Un modèle de règle est créé et s'ouvre dans un éditeur de règle, dans l'espace de modélisation graphique.

Ce modèle de règle est embarqué dans le composant tRules. Vous pouvez définir une ou plusieurs règles DRL dans le modèle à l'intérieur du tRules.

Construire le Job et configurer les données d'entrée

  1. Déposez un tFixedFlowInput et deux tLogRow de la Palette dans l'espace de modélisation graphique.

  2. Dans le nœud Embedded Rules de la vue Repository, déposez le modèle de règle créé.

    Un composant tRules s'affiche dans l'espace de modélisation graphique, avec le modèle de règle embarqué.

  3. Reliez le tFixedFlowInput au tRule à l'aide d'un lien Row > Main.

  4. Double-cliquez sur le tFileInputDelimited pour afficher sa vue Basic settings.

  5. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  6. Ajoutez deux lignes à l'aide du bouton [+]. Nommez-les respectivement zipCode et CityName et cliquez sur OK.

    Lorsque vous définissez les règles DRL, utilisez la colonne zipCode afin de faire correspondre les codes postaux à la colonne CityName, pour écrire en sortie le nom de la ville correspondant à un code postal.

    Note

    Assurez-vous que le nom de ville avec lequel mettre en correspondance le code postal est en minuscules. Sinon, une erreur survient lorsque vous tentez d'exécuter le Job.

  7. Dans la zone Mode, sélectionnez l'option Use Inline Content (delimited file).

  8. Configurez le séparateur de lignes (Row Separator) ainsi que le séparateur de champs (Field Separator) et, dans la table Content, saisissez les données délimitées sur lesquelles appliquer les règles DRL.

Définir les règles DRL

Configurer le schéma des règles

  1. Dans l'espace de modélisation graphique, double-cliquez sur le tRules pour afficher sa vue Basic settings.

    Dans la liste Property Type, Repository est automatiquement sélectionné, puisque le modèle de règle est stocké dans le Studio.

  2. Cliquez sur le bouton [...] pour ouvrir une boîte de dialogue listant les règles DRL stockées en local dans le référentiel.

  3. Sélectionnez le modèle de règle dans lequel définir le schéma des règles, ZipCodeRuleSet dans cet exemple, puis cliquez sur OK.

  4. Utilisez le bouton [+] pour ajouter deux lignes à la table Outputs, cliquez sur la colonne Schema puis cliquez sur le bouton [...].

  5. Dans la boîte de dialogue, saisissez un nom pour le premier schéma de sortie, Paris, puis cliquez sur OK.

  6. Dans la boîte de dialogue ouverte, définissez votre schéma de sortie. Copiez les colonnes zipCode et CityName du flux d'entrée principal dans le flux de sortie et cliquez sur OK.

  7. Répétez l'opération pour créer un second schéma de sortie, nommé Suresnes. De la même façon, copiez les deux colonnes d'entrée dans le flux de sortie.

    Chaque schéma de sortie utilise l'une des deux règles DRL définie dans le modèle de règle.

  8. Cliquez-droit sur le tRules et sélectionnez Row > Paris afin de relier le composant au premier tLogRow.

  9. Répétez l'opération afin de lier le tRules au second tLogRow à l'aide d'un Row > Suresnes.

Créer les règles DRL

  1. Dans la table Outputs, cliquez dans la colonne Rule puis sur le bouton [...] du schéma Paris.

  2. Dans la boîte de dialogue ouverte, sélectionnez une des options, comme expliqué dans le tableau :

    Sélectionnez

    Pour...

    Edit Rules

    ouvrir la règle dans l'éditeur de règles, dans l'espace de modélisation graphique.

    Create a rule with guide

    ouvrir une boîte de dialogue dans laquelle vous pouvez définir une règle dans le modèle de règle.

    select a rule from repository

    sélectionner une règle prédéfinie dans le modèle de règle créé et stocké dans le Repository.

    Dans cet exemple, sélectionnez l'option Create a rule with guide.

  3. Dans la boîte de dialogue ouverte, utilisez la syntaxe Drools pour configurer la condition de la règle "Paris" comme suit : zipCode matches "75\\d{3}", puis cliquez sur OK.

    La nouvelle règle "Paris" est générée et affichée dans la colonne Rule. Cette règle récupère tous les codes postaux du schéma Paris commençant par 75.

  4. Cliquez dans la colonne Rule puis sur le bouton [...] de la règle "Paris".

    Le modèle de règle s'ouvre dans l'éditeur de règle, dans l'espace de modélisation graphique.

  5. Dans la règle "Paris", ajoutez le code output.CityName = "Paris" pour écrire en sortie Paris comme nom de ville dans le premier flux de sortie.

  6. Répétez les étapes ci-dessus afin de créer une règle "Suresnes" et configurez sa condition comme suit zipCode == "92150".

    La nouvelle règle s'affiche dans la colonne Rule. Cette règle récupère tous les codes postaux du schéma Suresnes équivalents à 92150.

  7. Dans la règle "Suresnes", ajoutez le code output.CityName = "Suresnes" pour écrire en sortie Suresnes comme nom de ville dans le second flux de sortie.

  8. Dans l'espace de modélisation graphique, double-cliquez sur chaque tLogRow pour définir leurs propriétés.

    Pour plus d'informations, consultez tLogRow.

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

    La console de la vue Run affiche deux flux de sortie, avec les codes postaux et le nom des villes.

    Dans le premier flux de sortie, la règle "Paris" récupère tous les codes postaux commençant par 75 et écrit le nom de ville Paris.

    Dans le second flux de sortie, la règle "Suresnes" récupère tous les codes postaux équivalents à 92150 et écrit le nom de ville Suresnes.