Définir des composants de sortie - 6.5

Guide de référence des scripts de Jobs Talend

EnrichVersion
6.5
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 Real-Time Big Data Platform
EnrichPlatform
Studio Talend
Talend CommandLine
task
Création et développement > Création de Jobs

Dans cet exemple, trois composants tLogRow sont utilisés pour afficher respectivement les enregistrements non traités, les enregistrements acceptés et les enregistrements rejetés, sous la forme de tables et un composant tJava est utilisé pour afficher le résumé des informations. Suivez la procédure présentée ci-dessous pour définir ces composants.

Procédure

  1. Saisissez le code du script suivant pour ajouter et définir le premier composant tLogRow.

    Ce composant doit posséder la même structure de schéma que celle du composant tReplicate.

    // print unprocessed records
    addComponent {
    	setComponentDefinition {
    		TYPE: "tLogRow",
    		NAME: "tLogRow_1",
    		POSITION: 512, 160
    	}
    	setSettings {
    		BASIC_MODE : "false",
    		TABLE_PRINT : "true",
    		VERTICAL : "false",
    		PRINT_UNIQUE : "true",
    		LABEL : "unprocessed_records"
    	}
    	addSchema {
    		NAME: "tLogRow_1",
    		CONNECTOR: "FLOW"
    		addColumn {
    			NAME: "name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "gender",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "marriageStatus",
    			TYPE: "id_String"
    		}
    	}
    }
  2. Saisissez le code du script pour ajouter et définir le deuxième composant tLogRow.

    Ce composant doit posséder la même structure de schéma que celle du flux ACCEPT du composant tFilterRow.

    // print accepted records
    addComponent {
    	setComponentDefinition {
    		TYPE: "tLogRow",
    		NAME: "tLogRow_2",
    		POSITION: 832, 224
    	}
    	setSettings {
    		BASIC_MODE : "false",
    		TABLE_PRINT : "true",
    		VERTICAL : "false",
    		PRINT_UNIQUE : "true",
    		LABEL : "accepted_records"
    	}
    	addSchema {
    		NAME: "tLogRow_2",
    		CONNECTOR: "FLOW"
    		addColumn {
    			NAME: "name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "gender",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    	}
    }
  3. Saisissez le script suivant pour ajouter et définir le troisième composant tLogRow.

    Ce composant doit posséder la même structure de schéma que celle du flux REJECTED du composant tFilterRow.

    // print rejected records
    addComponent {
    	setComponentDefinition {
    		TYPE: "tLogRow",
    		NAME: "tLogRow_3",
    		POSITION: 832, 288
    	}
    	setSettings {
    		BASIC_MODE : "false",
    		TABLE_PRINT : "true",
    		VERTICAL : "false",
    		PRINT_UNIQUE : "true",
    		LABEL : "rejected_records"
    	}
    	addSchema {
    		NAME: "tLogRow_3",
    		CONNECTOR: "FLOW"
    		addColumn {
    			NAME: "name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "gender",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "errorMessage",
    			TYPE: "id_String",
    			NULLABLE: true,
    			LENGTH: 255,
    			PRECISION: 0
    		}
    	}
    }
    Avertissement :

    La colonne errorMessage est requise et possède des propriétés fixes pour le flux de sortie REJECTED.

  4. Saisissez le code du script suivant pour ajouter et définir le composant tJava.

    Ce composant appellera les variables globales des composants tLogRow pour afficher le nombre de lignes géré par chacun des composants. Lorsque ce composant n'a pas de colonne de schéma à définir, vous devez fournir le code Java à exécuter dans la fonction setSettings {}.

    // print summary
    addComponent {
    	setComponentDefinition {
    		TYPE: "tJava",
    		NAME: "tJava_1",
    		POSITION: 160, 416
    	}
    	setSettings {
    		CODE : "System.out.println(\"\\n\" +
    \"Total number of records    : \"+globalMap.get(\"tLogRow_1_NB_LINE\") + \"\\n\" +
    \"Number of records accepted : \"+globalMap.get(\"tLogRow_2_NB_LINE\") + \"\\n\" +
    \"Number of records rejected : \"+globalMap.get(\"tLogRow_3_NB_LINE\") + \"\\n\" + \"\\n\" );",
    		LABEL : "print_summary"
    	}
    	addSchema {
    		NAME: "tJava_1",
    		CONNECTOR: "FLOW"
    	}
    }
    Avertissement :

    Assurez-vous d'utiliser la barre oblique inversée (\) lorsque vous spécifiez un métacaractère.