我需要为我的行分隔流,具体取决于给定的字段。假设我的行有三个字段,field1,field2,field3,我需要为field1的每个值发送,我遇到某个路径上的第一个字段而另一个路径上的其他字段
我该如何解决?我应该使用tFilterRow保留第一行,然后将其输出重定向连接到tMap上的输入吗?
答案 0 :(得分:1)
tMap就是其中之一。您可以将布尔上下文值初始化为false以检测第一行,然后在您的tMap输出中使用具有此布尔值的过滤器。在第一个输出中,将布尔值更改为true。
编辑:带值内存。在作业中声明对象类型上下文值(field1Values)。
[tJava]
|
| onSubjobOk
|
[你的迭代组件] - [tMap] - output1 - [tJavaRow]
在tJava中
context.field1Values = new HashMap();
在output1的tMap过滤器
中(((HashMap中)context.field1Values).containsKey(currentRow.filed1)!);
在output2的tMap过滤器中(不显示)
((HashMap中)context.field1Values).containsKey(currentRow.filed1);
在你的tJavaRow
中((HashMap)context.field1Values).put(input_row.field1,true);