1、Funnel (漏斗),Funnel是 NiFi 组件,用于将多个连接中的数据合并到一个连接中。

使用场景:nifi中的Funnel组件用于合并多个数据流并将它们传递到下游处理器。它可以将来自不同来源的数据流合并到一个数据流中,方便后续处理器对数据进行处理。Funnel组件通常用于将不同分支的数据合并成一个流,例如将多个数据源的数据合并后进行聚合、分析或存储等操作。通过Funnel组件,nifi可以实现数据的合并和汇总,进一步实现数据流的处理和分析。

1)处理器GenerateFlowFile1生成2条数据,处理器GenerateFlowFile2生成2条数据,经过组件Funnel汇合之后将数据传递给LogMessae处理器(或者其他处理器),此时LogMessae处理器将收到4条数据。

2)由此可见Funnel处理器还具有解耦的作用:比如再加个类似的GenerateFlowFile3继续生产数据,后续流程不需要任何调整。

3)说到多对1聚会组件,大家肯定会想到1对多分发组件。在Apache NiFi中,可以使用RouteOnAttribute、RouteOnContent等处理器来实现数据的分发。这些处理器可以根据预定义的条件将数据流分发到不同的处理路径。另外,还可以结合使用UpdateAttribute处理器来添加属性,然后通过RouteOnAttribute根据这些属性的值来进行分发。另外,还可以使用Site-to-Site连接来将数据分发到其他的NiFi实例或其他系统中。

2、双击Funnel上游连接对多个连接内的流文件进行统一的背压,优先级设置,如下图所示:

Name:连接名称是可选的。如果未指定,则连接的名称将显示为连接中活动的关系的名称.

FlowFile Expiration:FlowFile过期是一个概念,用于自动删除不能及时处理的数据流。例如,在预期数据量超过可以发送到远程站点的数据量时,这是很有用的。在这种情况下,可以与优先级处理器一起使用过期机制,确保最高优先级的数据首先得到处理,然后任何在一定时间段内无法处理的数据(例如一个小时)可以被丢弃。过期时间是基于数据进入NiFi实例的时间。换句话说,如果在给定连接上设置了文件过期时间为“1小时”,并且一个已在NiFi实例中一个小时的文件到达该连接,它将会过期。默认值为0秒表示数据永远不会过期。当设置了不为“0秒”的文件过期时间时,连接标签上会出现一个小时钟图标,这样DFM在查看画布上的流程时可以一目了然地看到。

Back Pressure Object Threshold 、Size Threshold

NiFi提供了两种用于背压的配置元素。这些阈值指示在不再调度运行连接源组件之前队列中应允许存在多少数据。这样可以避免系统被数据淹没。第一个选项是“背压对象阈值”。这是在应用背压之前可以在队列中存在的FlowFile数量。第二个配置选项是“背压数据大小阈值”。这指定了在应用背压之前应排队的最大数据量(按大小)。这个值是通过输入一个数字后跟一个数据大小(B代表字节,KB代表千字节,MB代表兆字节,GB代表吉字节,TB代表太字节)进行配置的。

Load Balance Strategy:为了在集群中的各个节点之间分发流程中的数据。后续集群讲解时具体介绍。

ETL工具-nifi干货系列 第十八讲 nifi Funnel实战教程的更多相关文章

  1. Web 前端开发人员和设计师必读文章推荐【系列二十八】

    <Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  2. OSGi 系列(十八)之 基于注解的 Blueprint

    OSGi 系列(十八)之 基于注解的 Blueprint 1. 注解实现 blueprint 第一步:bundle 添加 Bundle-Blueprint-Annotation <plugin& ...

  3. Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用

    Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...

  4. Java 设计模式系列(十八)备忘录模式(Memento)

    Java 设计模式系列(十八)备忘录模式(Memento) 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式.备忘录对象是一个用来存储另外一个对象内部状态 ...

  5. 学习ASP.NET Core Blazor编程系列二十八——JWT登录(3)

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  6. SQL注入之Sqli-labs系列第二十八关(过滤空格、注释符、union select)和第二十八A关

    开始挑战第二十八关(Trick with SELECT & UNION) 第二十八A关(Trick with SELECT & UNION) 0x1看看源代码 (1)与27关一样,只是 ...

  7. SQL注入之Sqli-labs系列第十八关(基于错误的用户代理,头部POST注入)

    开始挑战第十八关(Header Injection - Uagent field - Error based) 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[ ...

  8. Dubbo学习系列之十八(Skywalking服务跟踪)

    我们知道,微服务不是独立的存在,否则就不需要微服务这个架构了,那么当发起一次请求,如何知道这次请求的轨迹,或者说遇到响应缓慢. 请求出错的情况,我们该如何定位呢?这就涉及到APM(Applicatio ...

  9. Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查

    之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...

  10. BizTalk开发系列(三十八)微软BizTalk Server定价和许可[解读]

    做BizTalk的项目一段时间了,但是对BizTalk的价格和许可还不是很了解.给客户设计解决方案时大部分产品都是直接按照企业版的功能来设计,很 少考虑到价格和许可方面的因素,以为这个不是我们的事情或 ...

随机推荐

  1. 力扣551(java)-学生出勤记录Ⅰ(简单)

    题目: 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤'L':Late,迟到'P':Pres ...

  2. 暑期集训 Day7 —— 模拟赛复盘

    ${\color{Green} \mathrm{Problem\ 1 :最优包含 }} $ 发现是 DP,于是开始设计状态:DP[i][j] 表示前一个字符串匹配到位置 i,后一个匹配到 j 的最少修 ...

  3. 当 AI 邂逅绘画艺术,能迸发出怎样的火花?

    简介: 2021年初,OpenAI 团队发布了能够根据文本描述生成图像的 DALL-E 模型.由于其强大的跨模态图像生成能力,引起自然语言和视觉圈技术爱好者的强烈追捧.仅仅一年多的时间,多模态图像生成 ...

  4. 2.生产环境k8s-1.28.2集群小版本升级到1.28.5

    环境:https://www.cnblogs.com/yangmeichong/p/17956335 # 流程:先升级master,再升级node # 1.备份组件参考:https://kuberne ...

  5. 第一章 Jenkins安装配置

    Jenkins官网 # 官网: https://www.jenkins.iohttps://www.jenkins.io/zh/ # docker安装: https://www.jenkins.io/ ...

  6. ChatGPT 眼中的程序员

    1 你如何看待程序员这个行业 程序员这个行业在现代社会扮演着非常重要的角色.作为一个技术驱动的职业,程序员们负责开发.设计和维护软件和应用程序,这些技术改变了我们的生活方式.商业模式和社会互动方式. ...

  7. SpringCloud + Seata1.5.0(使用docker安装配置Seata;数据存储mysql、配置中心与注册中心nacos)

    1.seata介绍 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分 ...

  8. STM32中的看门狗

    先复制一段度娘的东西: 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个 ...

  9. VUE中具名插槽和匿名插槽的使用

    在我的项目中由于使用的是vue+element一个自用框架进行开发,插槽用法相较简单 比如在列表字段columns使用slotname即可 <template v-slot:_spec=&quo ...

  10. Soluton Set - ZJOI历年真题

    upd:不考浙江省选了.这个题解贴应该不会再更新了. upd:进省队了.再做点,再写点. ZJOI2022 Day1T1 Link&Submission. tag:组合计数,容斥 假设固定了第 ...