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的属性。此属性的值由原始数据副本的属性和“流文件描述”属性决定。 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件必须提供输入流。
系统资源考量:
未提供。