在 Talend 中将数据从 tJavaRow 传递到 tJava
Passing data from tJavaRow to tJava in Talend
我正在使用 Talend 进行集成,我想知道是否可以将数据从 tJavaRow
传递到 tJava
组件。
例如:
tJavaRow
分量:
String check = input_row.foo;
if( check.contains("Yes")){
String ret = "OK";
return ret;
}
tJava
分量:
System.out.println(ret);
有没有办法打印 ret
,它是下一个组件中前一个组件的计算结果?
解决方案是使用 globalMap
或 tSetGlobalMap
globalMap.put("ret", ret);
并使用
恢复它
globalMap.get("ret");
/!\ 重要 /!\
但请注意,如果您在
这样的主流中使用 tJava
tRowGenerator > row1 > tJava > row2> tLogRow
tRowGenerator
为 1 到 10 生成 10 行
tJava
喜欢 System.out.println("foo");
tLogRow
打印数值
输出将是
foo
1
2
3
4
5
6
7
8
9
10
tJava
中的代码甚至在生成第一行之前只执行一次。查看生成的代码,可以看到
System.out.println("foo");
....
for(int i = 0; i < 10; i++){
logrow.print(i);
}
我正在使用 Talend 进行集成,我想知道是否可以将数据从 tJavaRow
传递到 tJava
组件。
例如:
tJavaRow
分量:
String check = input_row.foo;
if( check.contains("Yes")){
String ret = "OK";
return ret;
}
tJava
分量:
System.out.println(ret);
有没有办法打印 ret
,它是下一个组件中前一个组件的计算结果?
解决方案是使用 globalMap
或 tSetGlobalMap
globalMap.put("ret", ret);
并使用
恢复它globalMap.get("ret");
/!\ 重要 /!\
但请注意,如果您在
这样的主流中使用tJava
tRowGenerator > row1 > tJava > row2> tLogRow
tRowGenerator
为 1 到 10 生成 10 行tJava
喜欢System.out.println("foo");
tLogRow
打印数值
输出将是
foo
1
2
3
4
5
6
7
8
9
10
tJava
中的代码甚至在生成第一行之前只执行一次。查看生成的代码,可以看到
System.out.println("foo");
....
for(int i = 0; i < 10; i++){
logrow.print(i);
}