NiFi - 使用 EnforceOrder 和 MergeContent 处理器控制合并两个数据流的顺序
NiFi - Control de order merging two dataflows with EnforceOrder and MergeContent processor
我正在尝试使用 EnforceOrder 处理器以确定的顺序进行合并。为此,这是我的流程:
在 updateAttribute 中,我正在生成一个属性来设置合并中我想要的顺序。
在左侧,我设置值“1”,在另一侧,我设置值“2”。
然后EnforceOrder的配置是下一个:
问题是只到了process.order = 1的流量,并没有取出数字2,我做错了什么?
干杯
使用EnforceOrder
处理器控制流文件到达MergeContent
的顺序 处理器。
- 使用
UpdateAttribute
处理器将序列号添加到流文件中。
示例:
- 考虑 2 个流文件,Flowfile-2(此内容需要先显示)与 flowfile1[=78 相比,
sequence number
会更低=] 然后将 success
连接提供给 MergeContent
处理器,通过使用 enforceorder 处理器,我们确保 flowfile2 将进入 Mergecontent flowfile1 之前的处理器。
请参考this并使用强制命令模板熟悉enforce order
处理器。
更新:
我认为问题出在 EnforceOrder 配置上,
Group Identifier 配置为 ${filename}
所以如果你有两个不同的文件名那么处理器不会等他们俩。
修复此问题 在 UpdateAttribute
处理器(如 group_name
中保留 公共属性 作为gn 然后在 Group Identifier 属性 值中使用与 ${group_name}
[=81= 相同的属性名称]
连接 Skipped and Wait
连接到它自己的 EnforceOrder 处理器。
更新属性配置:
EnforceOrderConfigs:
请使用 this 模板作为参考,并将其上传到您的 NiFi 实例,查看流程如何 运行。
我正在尝试使用 EnforceOrder 处理器以确定的顺序进行合并。为此,这是我的流程:
在 updateAttribute 中,我正在生成一个属性来设置合并中我想要的顺序。 在左侧,我设置值“1”,在另一侧,我设置值“2”。
然后EnforceOrder的配置是下一个:
问题是只到了process.order = 1的流量,并没有取出数字2,我做错了什么?
干杯
使用EnforceOrder
处理器控制流文件到达MergeContent
的顺序 处理器。
- 使用
UpdateAttribute
处理器将序列号添加到流文件中。
示例:
- 考虑 2 个流文件,Flowfile-2(此内容需要先显示)与 flowfile1[=78 相比,
sequence number
会更低=] 然后将success
连接提供给MergeContent
处理器,通过使用 enforceorder 处理器,我们确保 flowfile2 将进入 Mergecontent flowfile1 之前的处理器。
请参考this并使用强制命令模板熟悉enforce order
处理器。
更新:
我认为问题出在 EnforceOrder 配置上,
Group Identifier 配置为
${filename}
所以如果你有两个不同的文件名那么处理器不会等他们俩。修复此问题 在
[=81= 相同的属性名称]UpdateAttribute
处理器(如group_name
中保留 公共属性 作为gn 然后在 Group Identifier 属性 值中使用与${group_name}
连接
Skipped and Wait
连接到它自己的 EnforceOrder 处理器。
更新属性配置:
EnforceOrderConfigs:
请使用 this 模板作为参考,并将其上传到您的 NiFi 实例,查看流程如何 运行。