Définir un composant filtrant les enregistrements
Procédure
-
À côté de la définition du composant tFilterColumns, saisissez une autre fonction addComponent {} et sa sous-fonction setComponentDefinition {} pour ajouter le composant tFilterRow.
// filter records - accept men between 10 and 80 whose names are shorter than 9 characters addComponent { setComponentDefinition { TYPE: "tFilterRow", NAME: "tFilterRow_1", POSITION: 640, 224 } }
-
À côté de la fonction setComponentDefinition {}, saisissez la fonction setSettings {} pour définir les conditions de filtre et renommer le composant.
setSettings { LOGICAL_OP : "&&", CONDITIONS { INPUT_COLUMN : "name", FUNCTION : "$source == null? false : $source.length() $operator $target", OPERATOR : "<", RVALUE : "9", INPUT_COLUMN : "gender", FUNCTION : "", OPERATOR : "==", RVALUE : "\"M\"", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : ">", RVALUE : "10", INPUT_COLUMN : "age", FUNCTION : "", OPERATOR : "<", RVALUE : "80" }, LABEL : "filter_records" }
Note InformationsAvertissement :Assurez-vous d'utiliser la barre oblique inversée (\) lorsque vous spécifiez un métacaractère.
-
À côté de la fonction setSettings {}, saisissez le code du script suivant afin de définir les schémas pour les flux de sortie.
Dans cet exemple, le composant tFilterRow a deux flux de sortie, un pour les enregistrements acceptés, qui possède la même structure du schéma que celle définie dans le composant précédent, tFilterColumns et l'autre pour les enregistrements rejetés, qui possède une colonne supplémentaire, errorMessage. La colonne errorMessage est obligatoire pour le flux de rejet et possède des propriétés fixes : même si vous ne définissez pas cette colonne, le Studio Talend l'ajoutera automatiquement lors de la génération du Job.
// define the schema for the accepted records addSchema { NAME: "ACCEPT", CONNECTOR: "FILTER" 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" } } // define the schema for the rejected records addSchema { NAME: "REJECT", CONNECTOR: "REJECT" 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 } }
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.