Exemple d'utilisation du tMap
L'exemple du tMap suivant montre comment :
- autoriser la conversion automatique des types de données
- définir des schémas de sortie
- définir une table d'entrée principale et une table de référence, reliées par une jointure Inner Join
- définir une table de variables
- définir des mappings entre les tables d'entrée, de variables et de sortie
- définir la transformation des données
addComponent {
setComponentDefinition {
TYPE: "tMap",
NAME: "tMap_1",
POSITION: 512, 160
}
setSettings {,
ENABLE_AUTO_CONVERT_TYPE : "true"
}
addSchema {
NAME: "out1",
CONNECTOR: "FLOW",
LABEL: "out1"
addColumn {
NAME: "id",
TYPE: "id_Integer"
}
addColumn {
NAME: "fullName",
TYPE: "id_String"
}
}
addSchema {
NAME: "out2",
CONNECTOR: "FLOW",
LABEL: "out2"
addColumn {
NAME: "id",
TYPE: "id_Integer"
}
addColumn {
NAME: "firstName",
TYPE: "id_String"
}
}
addMapperData {
addInputTable {
NAME: "row1"
addColumn {
NAME: "id",
TYPE: "id_Integer"
}
addColumn {
NAME: "firstName",
TYPE: "id_String"
}
}
addInputTable {
NAME: "row2",
ISINNERJOIN: true
addColumn {
NAME: "id",
TYPE: "id_Integer",
EXPRESSION: "row1.id "
}
addColumn {
NAME: "lastName",
TYPE: "id_String",
EXPRESSION: "\"London\""
}
}
addVarTable {
NAME: "Variables"
addColumn {
NAME: "var1",
TYPE: "id_String",
NULLABLE: true,
EXPRESSION: "StringHandling.UPCASE(row2.lastName)"
}
}
addOutputTable {
ID: "",
NAME: "out1"
addColumn {
NAME: "id",
TYPE: "id_Integer",
EXPRESSION: "row1.id"
}
addColumn {
NAME: "fullName",
TYPE: "id_String",
EXPRESSION: "row1.firstName + \" \" + Variables.var1"
}
}
addOutputTable {
ID: "",
NAME: "out2",
REJECTINNERJOIN: true
addColumn {
NAME: "id",
TYPE: "id_Integer",
EXPRESSION: "row1.id"
}
addColumn {
NAME: "firstName",
TYPE: "id_String",
EXPRESSION: "row1.firstName + \"(Last name mismatch or missing)\""
}
}
}
}