在我的流程中了解NIFI中的通知和等待过程

时间:2018-03-14 11:07:58

标签: apache-nifi

我是NIFI流程的新手,在我目前的工作中,我有通知和等待流程。有人可以帮我理解这个流程

Notify&Wait

通知工作的基础。在我的例子中,我们有4个模式文件进程和4个数据文件。 以下详细信息是通知属性.. enter image description here

以下是等待属性: enter image description here

***我明白了,等待过程中寻找8 Signal继续处理下一级进程。但从技术上讲,这将是多么令人不确定。

如果有人提供有关此流程的详细技术级别说明,请非常感谢。

1 个答案:

答案 0 :(得分:0)

@Andy提到的博客很好地解释了如何使用等待和通知:https://ijokarumawak.github.io/nifi/2017/02/02/nifi-notify-batch/

但是,如果您想更深入地了解技术,我发现各个处理器的文档非常有用。

Description of wait

  

将传入的FlowFiles路由到“等待”关系,直到从相应的Notify处理器将匹配的释放信号存储在分布式缓存中。当识别到匹配的释放信号时,等待的FlowFile被路由到“成功”关系,具有从FlowFile复制的属性,这些属性从Notify处理器生成了释放信号。然后从缓存中删除释放信号条目。如果等待的FlowFiles超过了Expireation Duration,它们将被路由到“ expired”。如果需要等待多个信号,请通过“目标信号计数”(Target Signal Count)属性指定所需的信号数。这对于将源FlowFile分成多个片段的处理器(例如SplitText)特别有用。为了等待所有片段被处理,请将“原始”关系连接到“等待”处理器,并将“拆分”关系连接到相应的通知处理器。配置“通知”和“等待”处理器以将“ $ {fragment.identifier}”用作“释放信号标识符”的值,并在“等待”处理器中将“ $ {fragment.count}”指定为“ Target Signal Count”的值在将“等待”关系用作循环时,建议使用优先级排序器(例如,先进先出)。

Description of Notify

  

在分发缓存中缓存释放信号标识符,还可以选择将其与FlowFile的属性一起缓存。一旦发现缓存中的此信号,将释放在相应的Wait处理器中保存的所有流文件。