Définir le flux de validation de consolidation - 7.0

Deduplication

author
Talend Documentation Team
EnrichVersion
7.0
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 ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Data Quality > Composants de dédoublonnage
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de dédoublonnage
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de dédoublonnage
EnrichPlatform
Studio Talend

Procédure

  1. Double-cliquez sur le tRuleSurvivorship pour ouvrir sa vue Component.
  2. Sélectionnez GRP_ID dans la liste Group Identifier et GRP_SIZE dans la liste Group size.
  3. Dans le champ Rule package name, remplacez le nom par défaut, org.talend.survivorship.sample par le nom de votre choix, si nécessaire.
    Le flux de validation de consolidation est généré et sauvegardé sous son nom, dans la vue Repository de la perspective Integration .
  4. Dans la table Rule table, cliquez sur le bouton [+] pour ajouter une ligne par règle.
    Dans cet exemple, définissez une règle et complétez-la comme suit :

    Ordre

    Nom de la règle

    Colonne de référence

    Fonction

    Valeur

    Colonne cible

    Sequential

    "Rule1"

    File

    Expression

    .equals("1")

    Acctname

    Une règle, "Rule1", est générée et exécutée par le composant tRuleSurvivorship. Cette règle valide les enregistrements dans la colonne File qui correspondent à l'expression saisie dans la colonne Value de la table Rule table. Le composant sélectionne la valeur correspondante comme étant la meilleure de la colonne cible Acctname.
  5. A côté du champ Generate rules and survivorship flow, cliquez sur l'icône pour générer l'ensemble de règles selon les conditions définies.
    L'ensemble de règles est généré et sauvé sous les nœuds Metadata > Rules Management > Survivorship Rules dans la vue Repository de la perspective Integration .
  6. Dans la vue Repository, parcourez votre système jusqu'au dossier Survivorship Rules et double-cliquez sur "Rule1" pour l'ouvrir.
    Cette règle sélectionne les valeurs provenant du fichier 1. Cependant, vous pouvez également consolider des enregistrements selon des critères spécifiques, par exemple, si Acctname a une valeur dans le premier fichier, vous pouvez utiliser cette valeur ou utiliser celle du second fichier. Pour ce faire, vous devez modifier le code manuellement dans le fichier de règle.
  7. Modifiez la règle avec le code Drools suivant :
    package org.talend.survivorship.sample 
    
    rule "ExistInFile1"
        no-loop true
        dialect "mvel"
        ruleflow-group "Rule1Group"
    when
        $input : RecordIn( file.equals("1"), acctname!= null, !acctname.trim().equals("") )  
    then
        System.out.println("ExistInFile1 fired\t" + $input.record_id);
        dataset.survive( $input.TALEND_INTERNAL_ID, "Acctname" );
        dataset.survive( $input.TALEND_INTERNAL_ID, "File" );
    end
    
    rule "NotExistFile1"
        no-loop true
        dialect "mvel"
        ruleflow-group "Rule1Group"
    when
        $input : RecordIn( file.equals("2"), acctname!= null && !acctname.trim().equals("") )  
        (not (exists (RecordIn( file.equals("1") ))) 
        or exists( RecordIn( file.equals("1"), acctname== null || acctname.trim().equals("") ) ))
    then
        System.out.println("NotExistFile1 fired\t" + $input.record_id);
        dataset.survive( $input.TALEND_INTERNAL_ID, "Acctname" );
        dataset.survive( $input.TALEND_INTERNAL_ID, "File" );
    end
    Avertissement :

    Après avoir modifié le fichier de règle, vous ne devez pas cliquer sur l'icône . Sinon, vos modifications seront remplacées par la nouvelle génération de l'ensemble de règles.