在我的流程中了解 NIFI 中的通知和等待过程 [英] Understand the Notify and Wait process in NIFI in my flow

查看:34
本文介绍了在我的流程中了解 NIFI 中的通知和等待过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am new to the NIFI process where in my current job, I have notify and wait process. could someone help me to understand this flow

Notify 工作的依据是什么.在我的情况下,我们有 4 个模式文件进程和 4 个数据文件.以下详细信息是通知属性..

On what basis the Notify work. in my case we have 4 schema files process and 4 data files with respective those. the below details are notify properties..

以下是等待属性:

***我明白了,等待进程在寻找8个信号以继续处理下一级进程.但从技术上讲,这将如何运作并不确定.

***I understand that, the wait process looking for 8 Signal to proceed to process the next level of process. but technically how this will woks not sure.

如果有人提供有关此过程的详细技术级别解释,我们将不胜感激.

Please it will be much appreciate if some one provide in-detail technical level explanation on this processes.

推荐答案

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

The blog mentioned by @Andy gives a nice explanation on how to use the wait and notify together: https://ijokarumawak.github.io/nifi/2017/02/02/nifi-notify-batch/

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

However, if you want a more in depth technical understanding, I find the documentation of the individual processors very useful.

等待描述​​

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

Routes incoming FlowFiles to the 'wait' relationship until a matching release signal is stored in the distributed cache from a corresponding Notify processor. When a matching release signal is identified, a waiting FlowFile is routed to the 'success' relationship, with attributes copied from the FlowFile that produced the release signal from the Notify processor. The release signal entry is then removed from the cache. Waiting FlowFiles will be routed to 'expired' if they exceed the Expiration Duration. If you need to wait for more than one signal, specify the desired number of signals via the 'Target Signal Count' property. This is particularly useful with processors that split a source FlowFile into multiple fragments, such as SplitText. In order to wait for all fragments to be processed, connect the 'original' relationship to a Wait processor, and the 'splits' relationship to a corresponding Notify processor. Configure the Notify and Wait processors to use the '${fragment.identifier}' as the value of 'Release Signal Identifier', and specify '${fragment.count}' as the value of 'Target Signal Count' in the Wait processor.It is recommended to use a prioritizer (for instance First In First Out) when using the 'wait' relationship as a loop.

通知说明

在分布式缓存中缓存一个释放信号标识符,可选地与 FlowFile 的属性一起.一旦发现缓存中的此信号,将释放保存在相应等待处理器中的任何流文件.

Caches a release signal identifier in the distributed cache, optionally along with the FlowFile's attributes. Any flow files held at a corresponding Wait processor will be released once this signal in the cache is discovered.

这篇关于在我的流程中了解 NIFI 中的通知和等待过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆