Skip to main content

DetectDuplicate

描述:

为每个传入的流文件缓存一个值(由FlowFile属性计算),并确定是否已经看到缓存的值。如果是这样,将FlowFile路由到“duplicate”,名为“original.identifier”的一个属性,指定原始FlowFile的“description”,这是中指定<流文件描述>属性。如果流文件没有被确定为重复的,处理器将流文件路由到“non-duplicate”

标签:

hash, dupe, duplicate, dedupe

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
缓存条目的标识符${hash.value}一个FlowFile属性,或属性表达式语言语句的结果,它将根据一个FlowFile进行评估,以确定用于标识重复项的值;缓存的就是这个值。

支持表达式语言 (支持流属性和变量)
流文件描述当一个流文件被添加到缓存中时,这个值将与它一起存储,如果找到一个副本,原始流文件的这个描述将被添加到副本的“original.flowfile.description”属性中。

支持表达式语言 (支持流属性和变量)
过期时间间隔过期缓存流文件的时间间隔
分布式缓存服务控制器服务API:
DistributedMapCacheClient
实现:
HBase_1_1_2_ClientMapCacheService
CouchbaseMapCacheClient
DistributedMapCacheClientService
RedisDistributedMapCacheClientService
用于缓存唯一标识符(用于确定重复项)的控制器服务
缓存条目标识符缓存
- 缓存
- 不缓存
当为true时,这将导致组件检查副本并缓存条目标识符。当为false时,处理器将只检查副本,而不缓存条目标识符,这要求另一个组件将标识符添加到分布式缓存中。

连线:

名字描述
duplicate如果检测到一个流文件是重复的,它将被路由到这条线。
non-duplicate如果检测到一个流文件是不重复的,它将被路由到这条线。
failure如果无法与缓存通信,将惩罚流文件并将其路由到这条线。

读取属性:

未提供。

写入属性:

名字描述
original.flowfile.description所有路由到重复关系的流文件都将添加一个名为original.flowfile.description的属性。此属性的值由原始数据副本的属性和“流文件描述”属性决定。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。

参考:

DistributedMapCacheClientService, DistributedMapCacheServer