Project Summary:
In data integration projects, dealing with null values is a frequent task, especially for code fields. This blog post outlines how to replace null or empty values in the customer_code
field with “#” and transform non-null values to uppercase using Talend Data Integration, a powerful tool for ETL (Extract, Transform, Load) processes.
Input (Contains Null value in Code Field)
Fig: Input customer table (contains null values on customer_code)
Desired Output (Replacing null with ‘#’ for code field)
Fig: Desired output customer table( After Null Handling on customer_code)
Let’s Begin…
We’ll use Talend Data Integration and leverage Java routines to handle null values in the customer_code
field. Specifically, we’ll create a routine called NullHandlingRoutine which checks for null or empty values and transforms non-null values to uppercase. Then, we’ll implement this routine in a mapping step (tMap
) within our Talend job.
Creating a Java Routine
We start by defining a Java routine called NullHandlingRoutine
. This routine contains a method transformCharCode that handles null values in the customer_code
field.
//Java routine name: NullHandlingRoutine
//function ormethod name: transformCharCode
//dataengjourney.com
public static String transformCharCode(String input) {
if (input == null || input.isEmpty()) {
return "#";
}
return StringHandling.UPCASE(input);
}
This method checks if the input value is null or empty. If so, it assigns “#” to the return value. Otherwise, it transforms the input value to uppercase.
Implementing in Talend Data Integration
In Talend, we implement the transformCharCode routine within a tMap
component. Here’s how you can do it:
output_column = NullHandlingRoutine.transformCharCode(input_column);
This code snippet demonstrates how to call the transformCharCode method within the tMap
component to handle null values in the customer_code
field.
Sample Input Data
Let’s consider a sample input CSV table with null values in the customer_code
field:
customer_id,name,email,age,gender,customer_code
1,John Doe,johndoe@example.com,35,Male,A123
2,Jane Smith,janesmith@example.com,28,Female,B456
3,,charliebrown@example.com,,,
4,Michael Johnson,,45,Male,C789
5,Sarah Williams,sarah@example.com,,Female,D012
6,,,,,E345
Input Data Preview:
Job Design Process
The components for this job are as below:
Input Schema Structure:
Mapping:
Null Handling for customer_code:
output_Customer.customer_code=NullHandlingRoutine.transformCharCode(input_customer.customer_code )
Run the Job
After implementing the null handling logic in Talend, we run the job to transform the data. Upon execution, the customer_code
field will be null-handled, which is given below:
Output:
Conclusion
This guide demonstrated how to handle null values in the customer_code
field using Talend Data Integration. By creating a Java routine and integrating it into a tMap
component, we efficiently managed null values during data transformation. Talend’s robust features and Java integration make it a powerful tool for diverse data scenarios in real-world projects.
Discover more from Data Engineer Journey
Subscribe to get the latest posts sent to your email.