Agréger les notes - 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

Utilisez la procédure ci-dessous pour ajouter et configurer un composant tAggregateRow pour agréger les notes.

Procédure

  1. À côté du composant tUnite, ajoutez un composant tAggregateRow.
    addComponent {
    	setComponentDefinition {
    		TYPE: "tAggregateRow",
    		NAME: "tAggregateRow_1",
    		POSITION: 512, 192
    	}
    
    }
  2. À côté de la fonction setComponentDefinition {} du tAggregateRow, définissez les propriétés du composant à l'aide de la fonction setSettings {}.

    Dans cet exemple, le composant tAggregateRow nommé aggregate va effectuer des calculs sum, avg, max et min afin d'obtenir la note totale, la note moyenne, la note la plus haute et la note la plus basse dans chaque matière (subject).

    	setSettings {
    		GROUPBYS {
    			OUTPUT_COLUMN : "subject",
    			INPUT_COLUMN : "subject"
    		},
    		OPERATIONS {
    			OUTPUT_COLUMN : "sum",
    			FUNCTION : "sum",
    			INPUT_COLUMN : "score",
    			OUTPUT_COLUMN : "average",
    			FUNCTION : "avg",
    			INPUT_COLUMN : "score",
    			OUTPUT_COLUMN : "max",
    			FUNCTION : "max",
    			INPUT_COLUMN : "score",
    			OUTPUT_COLUMN : "min",
    			FUNCTION : "min",
    			INPUT_COLUMN : "score"
    		},
    		LABEL : "aggregate"
    	}
  3. À côté de la fonction setSettings {}, saisissez la fonction addSchema {} afin de définir la structure de sortie du composant.

    Dans cet exemple, le composant tAggregateRow écrit cinq colonnes en sortie :

    • subject, de type String
    • sum, pour la note totale dans chaque matière, de type Double
    • average, pour la note moyenne dans chaque matière, de type Double
    • max, pour la note la plus haute dans chaque matière, de type Double
    • min, pour la note la plus basse dans chaque matière, de type Double
    	addSchema {
    		NAME: "tAggregateRow_1",
    		CONNECTOR: "FLOW"
    		addColumn {
    			NAME: "subject",
    			TYPE: "id_String"
    		}
    		addColumn {
    			NAME: "sum",
    			TYPE: "id_Double",
    			PRECISION: 2
    		}
    		addColumn {
    			NAME: "average",
    			TYPE: "id_Double",
    			PRECISION: 2
    		}
    		addColumn {
    			NAME: "max",
    			TYPE: "id_Double",
    			PRECISION: 2
    		}
    		addColumn {
    			NAME: "min",
    			TYPE: "id_Double",
    			PRECISION: 2
    		}
    	}