Utiliser une règle de validation par référence - 6.3

Talend Data Services Platform Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Data Services Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

Après avoir configuré une règle de validation, vous pouvez l'appliquer à vos Jobs. Par exemple, appliquez une règle de validation par référence lors de la mise à jour de la base de données avec de nouvelles données. Cependant, avant de charger ces nouvelles données, soyez sûr qu'elles correspondent à celles qui existant déjà dans la base de données. Ce scénario est basé sur la règle de validation par référence créée dans le Conception d'un Job. Pour plus d'informations concernant cette règle, consultez Règle de validation par référence.

  1. De la Palette, déposez dans l'espace de modélisation graphique un composant d'entrée de base de données (Input) et un composant de sortie de base de données (Output), dans cet exemple un tMysqlInput et un tMysqlOutput, afin de charger les données, un composant tLogRow pour afficher les données rejetées dans la console et un composant tJava pour afficher le nombre de lignes traitées dans la console.

  2. Reliez les composants d'entrée et de sortie de base de données à l'aide d'un lien Row > Main. Reliez le composant tMysqlInput au tJava à l'aide d'un lien OnSubjobOk.

    Note

    Vous pouvez créer le lien de rejet entre le tMysqlOutput et le tLogRow uniquement si vous avez appliqué la règle de validation au composant tMysqlOutput.

Configurer les composants

  1. Double-cliquez sur le composant tMysqlInput afin d'afficher sa vue Basic settings.

  2. Sélectionnez Repository dans la liste Property type puis cliquez sur le bouton [...] à côté du champ afin de récupérer les propriétés de connexion correspondant à la métadonnée que vous souhaitez vérifier.

  3. Sélectionnez Repository dans la liste déroulante Schema et cliquez sur le bouton [...] à côté du champ pour récupérer le schéma correspondant à votre table de base de données.

  4. Cliquez sur le bouton [...] à côté du champ Table afin de sélectionner la table à vérifier.

  5. Cliquez sur le bouton Guess Query pour récupérer automatiquement la requête correspondant au schéma de la table.

  6. Double-cliquez sur le composant tMysqlOutput pour afficher ses Basic settings.

  7. Sélectionnez Repository comme Property type et cliquez sur le bouton [...] à côté du champ afin de récupérer les propriétés de connexion correspondant à la table de base de données dans laquelle vous souhaitez charger les nouvelles données.

  8. Cliquez sur le bouton [...] à côté du champ Table pour sélectionner la table dans laquelle vous souhaitez charger les données.

  9. Dans la liste Action on table, sélectionnez Default et dans la liste Action on data, sélectionnez l'action correspondant à celle(s) définie(s) dans la règle de validation appliquée(s) au Job. Ici, comme vous avez sélectionnez On insert et On update dans la règle de validation par référence utilisée, sélectionnez Update or insert pour déclencher la règle.

  10. Si le schéma des composants d'entrée et de sortie ne se synchronisent pas automatiquement, cliquez sur Sync columns et le schéma du flux d'entrée sera automatiquement récupéré.

Appliquer la règle de validation et visualiser les résultats de l'exécution du Job

  1. Cliquez sur l'onglet Validation Rules dans la vue Component du composant tMysqlOutput.

  2. Cochez la case Use an existing validation rule pour appliquer la règle de validation au composant.

  3. Dans la liste Validation Rule Type, sélectionnez Repository et cliquez sur le bouton [...] pour sélectionner la règle de validation dans la boîte de dialogue [Repository Content].

    Si vous avez activé l'option Reject link pour cette règle de validation, vous pouvez récupérer les données rejetées dans un flux de rejet.

  4. Cliquez-droit sur le tMysqlOutput, sélectionnez Row > Rejects dans le menu et glissez jusqu'au tLogRow pour créer un lien de rejet entre les deux composants.

  5. Double-cliquez sur le composant tJava afin d'afficher ses Basic settings.

  6. Dans le champ Code, saisissez le code qui affichera le nombre de lignes traitées mises à jour, insérées et rejetées :

    System.out.println("Updates: "+((Integer)globalMap.get("tMysqlOutput_1_NB_LINE_UPDATED"))+"\nInserts:
    "+((Integer)globalMap.get("tMysqlOutput_1_NB_LINE_INSERTED"))+"\nRejects:
    "+((Integer)globalMap.get("tLogRow_1_NB_LINE")));

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

Les données valides sont insérées ou mises à jour dans la table de la base de données et la console affiche les lignes rejetées par la règle de validation, ainsi que le nombre de mises à jour, d'insertions et de rejets traités dans le Job.