Accéder au contenu principal Passer au contenu complémentaire

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

Après avoir configuré une règle de validation, vous pouvez l'appliquer dans votre Job. 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, assurez-vous qu'elles correspondent à celles qui existent 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 la section Règle de validation par référence du Guide d'utilisation du Studio Talend.

Configurer l'environnement du Job pour une règle de validation de référence

Procedure

  1. Placez les composants suivants de la Palette 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 Trigger > OnSubjobOk.
    Note InformationsNote:

    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.

    Capture d'écran du Job dans l'espace de modélisation graphique.

Configurer les composants pour utiliser une règle de validation de référence

Procedure

  1. Double-cliquez sur le composant tMysqlInput afin d'afficher sa vue Basic settings.
    Capture d'écran des paramètres simples du composant.
  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 paramètres (Basic settings).
    Capture d'écran des paramètres simples du composant.
  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 à celles définies dans la règle de validation appliquée au Job.
    Ici, comme vous avez sélectionné 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

Procedure

  1. Cliquez sur l'onglet Validation Rules dans la vue Component du composant tMysqlOutput.
    Capture d'écran des règles de validation du composant.
  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].
  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.

    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.

  5. Double-cliquez sur le composant tJava afin d'afficher ses paramètres (Basic settings).
    Capture d'écran des paramètres simples du composant.
  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.
    Capture d'écran de la console après l'exécution réussie du Job.

Results

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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.