繁体   English   中英

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个流文件,与流文件 1相比, 流文件2 (该内容首先需要显示)的sequence number低,然后将success连接馈送到MergeContent处理器。通过使用forceforceorder处理器,我们确保流文件2将在流文件1之前进入Mergecontent处理器。 。

请参考此内容,并使用强制命令模板熟悉enforce order处理器。

更新:

我认为问题在于EnforceOrder配置,

  • 组标识符配置为${filename}因此,如果您有两个不同的文件名,则处理器不会等待这两个文件名。

  • 要解决此问题,请在UpdateAttribute处理器UpdateAttribute保持通用”属性 (例如group_name为gn),然后在Group Identifier属性值中使用与${group_name}相同的属性名称。

  • 自行将Skipped and Wait连接连接到EnforceOrder处理器。

UpdateAttributeConfigs:

在此处输入图片说明

EnforceOrderConfigs: 在此处输入图片说明

请使用模板作为参考,并将其上传到您的NiFi实例,以检查流程如何运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM