如何在TALEND中的tMap中添加自定义JAVA代码

时间:2018-03-10 11:46:43

标签: java talend

我需要创建一个TALEND作业,将数千万的数据从CSV文件加载到我的oracle数据库表。在csv中,我有一个列为Entity_Code。在表I中,我需要编写自定义代码并将此ENTITY_CODE插入为

Random rnd = new Random();
int sixDigits = 100000 + rnd.nextInt(900000);
if (ENTITY_CODE != null && ENTITY_CODE.length() > 4) {
    newENTITY_CODE = "SB-" + ENTITY_CODE.substring(0, 4) + sixDigits;
} else {
    newENTITY_CODE = "SB-" + ENTITY_CODE + sixDigits;
}

newENTITY_CODE。我创建了一个输入为CSV文件的作业,然后使用tMap,然后使用我的表,但是如何包含此代码。

1 个答案:

答案 0 :(得分:1)

要在tMap表达式中使用自定义代码,请创建例程:

Code > create routine

并将您的代码放在一个采用String类型(ENTITY_CODE)的方法中,并返回String类型(这是您的新ENTITY_CODE)。
然后在你的tMap列表达式中调用如下方法:

myRoutine.myMethod(row.ENTITY_CODE)