此问题与this SO question
有关以上解决方案解决了我的问题,现在我试图将其连接到来自QueryRecord
处理器的流中。
这里QueryRecord
将流文件分成两个流。假设customers
和suppliers
。并且ExecuteGroovyScript
用于添加ORDER
和COMPLAINT
。
csv示例:
id,record_type
1,0
2,0
3,1
所以结果应该是:
id,record_type
1,ORDER
2,ORDER
3,COMPLAINT
实际结果刚刚放置了默认的'IGNORE'
值。
答案 0 :(得分:3)
如果您只想简单地更新字段值,请使用UpdateRecord
处理器。
按如下所示输入文本时:
id,record_type
1,0
2,0
3,1
然后将记录读取器设置为CSVReader
,并将Schema Access Strategy
的选项Use String Fields From Header
设置为UpdateRecord
。作者并不关心。 Record Reader CSVReader
Record Writer CSVRecordSetWriter
Replacement Value Strategy Literal Value
/record_type ${field.value:replace('0','ORDER'):replace('1','COMPLAINT')}
处理器属性如下所示:
Aurthor.associate=(models)=>
{
Author.hasMany(Image);
}
这将给您预期的结果。