Example - 6.5

Talend Job Script Reference Guide

author
Talend Documentation Team
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
task
Design and Development > Designing Jobs
EnrichPlatform
Talend CommandLine
Talend Studio

The following example of tMap shows how to:

  • enable perform automatic data type conversion
  • define output schemas
  • define a main input table and a lookup table, with an inner join between them
  • define a variable table
  • define mappings between the input, variable, and output tables
  • define data transformation
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)\""
			}
		}
	}
}