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

Définir le composant de traitement

Suivez les étapes ci-dessous pour définir un composant tMap afin qu'il :

  • effectue des conversions automatiques de types entre l'entrée et la sortie pour éviter les erreurs de compilation lors de l’exécution du Job

  • combine le prénom et le nom de chaque personne

Procédure

  1. Saisissez les fonctions et les paramètres suivants pour ajouter le composant.
    addComponent {
    	setComponentDefinition {
    		TYPE: "tMap",
    		NAME: "tMap_1",
    		POSITION: 480, 256
    	}
    }
  2. À côté de la fonction setComponentDefinition {}, saisissez la fonction setSettings {} pour définir les paramètres de mapping.

    Dans cet exemple, le type de données des colonnes id et age est String dans les schémas d'entrée et le type de données est Integer dans le schéma de sortie. Activez la fonctionnalité de conversions automatiques de types du composant et laissez les autres paramètres par défaut.

    	setSettings {
    		ENABLE_AUTO_CONVERT_TYPE : "true"
    	}
  3. À côté de la fonction setSettings {}, saisissez une fonction addSchema {} pour définir la structure de données attendue par le composant suivant.

    Dans cet exemple, le flux de sortie est appelé out et contient quatre colonnes :

    • id, de type Integer, d'une longueur de deux caractères

    • full_name, de type String

    • age, de type Integer, d'une longueur de deux caractères

    • city, de type String

    	addSchema {
    		NAME: "out",
    		CONNECTOR: "FLOW",
    		LABEL: "out"
    		addColumn {
    			NAME: "id",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "full_name",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "age",
    			TYPE: "id_Integer",
    			LENGTH: 2
    		}
    		addColumn {
    			NAME: "city",
    			TYPE: "id_String"
    		}
    	}
  4. À côté de la fonction addSchema {}, saisissez la fonction addMapperData {} pour définir le mapping des données, dont l'entrée, la sortie, les tables var, les jointures et les mappings.
  5. Dans la fonction addMapperData {}, saisissez une fonction addInputTable {} pour définir la table d'entrée du flux principal d'entrée.

    Notez que la définition des colonnes doit être la même que celle du premier composant tFileInputDelimited.

    	addMapperData {
    		addInputTable {
    			NAME: "row1"
    			addColumn {
    				NAME: "id",
    				TYPE: "id_String"
    			}
    			addColumn {
    				NAME: "name",
    				TYPE: "id_String"
    			}
    			addColumn {
    				NAME: "age",
    				TYPE: "id_String"
    			}
    			addColumn {
    				NAME: "city",
    				TYPE: "id_String"
    			}
    		}
    	}
  6. Dans la fonction addMapperData {}, saisissez une fonction addInputTable {} pour définir la table d'entrée pour le flux de référence.

    Notez que la définition des colonnes doit être la même que celle du second composant tFileInputDelimited.

  7. Dans la définition pour la colonne id, saisissez le paramètre EXPRESSION: "row1.id" pour définir une jointure entre les tables d'entrée, sur la colonne id.

    Notez que cet exemple définit un Left Outer Join. Pour définir une jointure Inner Join, ajoutez le paramètre ISINNERJOIN: true dans la fonction addInputTable {}.

    		addInputTable {
    			NAME: "row2"
    			addColumn {
    				NAME: "id",
    				TYPE: "id_String"
    				EXPRESSION: "row1.id"
    			}
    			addColumn {
    				NAME: "family",
    				TYPE: "id_String"
    			}
    		}
  8. Dans la fonction addMapperData {}, saisissez une fonction addOutputTable {} et définissez la table de sortie dans cet exemple.

    Cette définition de colonnes doit être la même que celle des paramètres du schéma. Notez que le paramètre ID est requis. Toutefois ce paramètre requiert une valeur uniquement lorsque la table de sortie utilise un schéma stocké dans le Repository.

  9. Créez des mappings entre les colonnes d’entrée et de sortie en ajoutant le paramètre EXPRESSION à chaque colonne de sortie.

    Notez que la colonne full_name est une combinaison de la colonne name du principal flux d'entrée et de la colonne family du flux de référence, séparées par un espace.

    		addOutputTable {
    			ID: "",
    			NAME: "out"
    			addColumn {
    				NAME: "id",
    				TYPE: "id_Integer",
    				EXPRESSION: "row1.id"
    			}
    			addColumn {
    				NAME: "full_name",
    				TYPE: "id_String",
    				EXPRESSION: "row1.name  + \" \" + row2.family"
    			}
    			addColumn {
    				NAME: "age",
    				TYPE: "id_Integer",
    				EXPRESSION: "row1.age"
    			}
    			addColumn {
    				NAME: "city",
    				TYPE: "id_String",
    				EXPRESSION: "row1.city "
    			}
    		}
    Note InformationsAvertissement :

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

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 – dites-nous comment nous améliorer !