我需要创建一个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,然后使用我的表,但是如何包含此代码。
答案 0 :(得分:1)
要在tMap表达式中使用自定义代码,请创建例程:
Code > create routine
并将您的代码放在一个采用String
类型(ENTITY_CODE)的方法中,并返回String
类型(这是您的新ENTITY_CODE)。
然后在你的tMap列表达式中调用如下方法:
myRoutine.myMethod(row.ENTITY_CODE)