如何用另一个FlowFile中的字段替换FlowFile的特定字段?

时间:2017-09-07 11:47:32

标签: apache-nifi

我有ExecuteScript的输出FlowFile#1和另一个ExecuteScript的输出FlowFile#2。

FlowFile#1

{
 "field1": "val",
 "field2": "val"
}

FlowFile#2

{
  "field2": "abc"
}

我应该使用哪个处理器来替换FlowFile#1中val的值field1来自FlowFile#2的abc的值field2

我不想使用MergeContent,因为我需要的只是替换值。

更新

UpdateAttribute中,我将属性filename设置为${UUID()}。然后在名为ExecuteScript的{​​{1}}中,我使用下面显示的代码。文件未合并并排队。

Merge inputs into single FlowFile的输出类似于FlowFile#2,Replacetext的输出类似于FlowFile#1。

numpy.where

UpdateAttribute

UDPATE#2:

enter image description here

1 个答案:

答案 0 :(得分:0)

通过@dagget可以在聊天中找到完整的详细信息,但是为了确保这个问题看起来没有答案,我将在此处发布要点。

  1. 确保在流分开之前将ID添加到流中,这使您可以再次将相关消息对组合在一起。
  2. 禁用回滚(惩罚),以避免等待太长时间以至于两半消息再次可用