Configuring the tJavaFlex and tJava components - 7.0

tMemorizeRows

author
Talend Documentation Team
EnrichVersion
7.0
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 Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Data Governance > Third-party systems > Misc components > tMemorizeRows
Data Quality and Preparation > Third-party systems > Misc components > tMemorizeRows
Design and Development > Third-party systems > Misc components > tMemorizeRows
EnrichPlatform
Talend Studio

Procedure

  1. Double-click the tJavaFlex component to open its Basic settings view on the Component tab.
  2. In the Start code area, enter the Java code that will be called during the initialization phase. In this example, type in int count=0; in order to declare a variable count and assign the value 0 to it.
  3. In the Main code area, enter the Java code to be applied to each row in the data flow. In this scenario, type in:if(!age_tMemorizeRows_1[0].equals(age_tMemorizeRows_1[1])) { count++; } System.out.println(age_tMemorizeRows_1[0]);This code compares two ages memorized by the tMemorizeRows component each time and counts one change every time the ages are found to be different. This code then displays the age that has been indexed as 0 by the tMemorizeRows component. When the tJavaFlex component is in the same flow of the tMemorizeRows component, the variable format is ColumnName_ComponentName[index].
  4. In the End code area, enter the Java code that will be called during the closing phase. In this example, type in globalMap.put("number", count); to initialize the global variable number with the value of the count variable.
  5. Double-click the tJava component to open its Basic settings view on the Component tab.
  6. In the Code area, enter the flollowing code to display the number of occurrences of different ages and the lowest age within the customers on the console:System.out.println("Different ages: "+globalMap.get("number")); System.out.println("Lowest age: " + ((Integer[])globalMap.get("tMemorizeRows_1_age"))[0]);
    The method globalMap.get() is used by the tJava to retrieve the array values. Note that here, the tJava is used outside the subjob tMemorizeRows so the variable format should be ComponentName_ColumnName, which is different from the variable format used by a component placed in the same flow.