ETL工具-nifi干货系列 第十六讲 nifi Process Group实战教程,一文轻松搞定
1、目前nifi系列已经更新了10多篇教程了,跟着教程走的同学应该已经对nifi有了初步的解,但是我相信同学们应该有一个疑问:nifi设计好的数据流列表在哪里?如何同时运行多个数据流?如启停单个数据流?
带着这些疑问,今天的主角nifi Process Group正式登场,先给大家看个图。

2、Process Group(处理组)
1)当数据流变得复杂时,以更高级、更抽象的层次来思考数据流往往是有益的。也就是说通过处理组将一个或多个流程封装起来,屏蔽其复杂性。
2)NiFi允许将多个组件,如处理器(Processors),组合成一个处理组(Process Group)。处理组中可以是一些列的处理器,也可以是处理组。
3)NiFi用户界面使得数据流管理者(DFM)能够轻松将多个处理组连接成一个逻辑数据流。用户能够将多个处理组连成一个逻辑数据流。但是处理组之间进行连接需要用到Input Port和Out Port,后续会进行讲解。

4)同时也允许DFM进入处理组以查看和操作处理组内的组件。操作人员可以很方便的进入(双击处理组)和退出处理组(点击面包屑导航)。

3、处理组配置,空白画布默认为根处理组,我把根处理组的名字修改为myNiflFlow。myNiflFlow处理组包含处理组【用户信息同步】和【交易订单同步】两个处理组。
当然这里的分组不一定合适,有可能是按照系统分的,如myNiflFlow处理组包含处理组【申请系统】、【审核系统】、【信贷系统等】,自己可以根据业务场景进行分组。

1)鼠标点击空白处,点击️运行按钮可以启动多个处理组流程。
2)鼠标点击空白处,点击⏸️暂停按钮可以停止多个处理组流程。
3)选中某个处理组,可以单独启动或者暂停该处理组,而不影响其他处理组。
4)启用,禁用等按钮操作也可以进行类似批量或者单个处理组操作。

5)Process Group Name:自定义处理组名称
6)Process Group Parameter Context:它用于为流程中的组件提供参数。从这个下拉菜单中,用户可以选择应该绑定到此流程组的参数上下文,并可选择创建一个新的参数上下文以绑定到该流程组。后续参数和参数上下文设置单独讲解,这里先做了解。
7) Process Group FlowFile Concurrency:
FlowFile Concurrency 用于控制数据如何进入流程组。有三种可用选项:
1. 无限制(默认值)
2. 单个节点每次一个流文件
3. 单个节点每次一个批次
当FlowFile并发性设置为“无限制”时,流程组中的输入端口将尽可能快地摄取数据,前提是背压不会阻止它们这样做。
当FlowFile并发性配置为“单个节点每次一个流文件”时,输入端口将只允许一个流文件通过。一旦该流文件进入流程组,直到所有流文件离开流程组(通过从系统中移除/自动终止,或通过输出端口退出)之前,将不会再带入任何其他流文件。这通常会导致性能较慢,因为它减少了NiFi用于处理数据的并行性。然而,用户可能希望使用这种方法的原因有几个。一个常见的用例是每个传入的FlowFile包含对其他几个数据项的引用,比如目录中的文件列表。用户可能希望在允许任何其他数据进入流程组之前处理整个列表。
当FlowFile并发性配置为“单个节点每次一个批次”时,输入端口的行为方式与“单个节点每次一个流文件”模式类似,但是当摄取一个流文件时,输入端口将继续摄取所有数据,直到所有馈送输入端口的队列已被清空。在那时,它们将不会将任何更多的数据带入流程组,直到所有数据已完成处理并离开流程组。
8)Process Group Outbound Policy:出站策略控制了数据从流程组中流出的方式。有两个可用选项:
1. 当可用时流式传输(默认值)
2. 批量输出
当出站策略配置为“当可用时流式传输”时,到达输出端口的数据将立即从流程组中转移出去,假设没有施加任何背压。
当出站策略配置为“批量输出”时,输出端口将不会将数据从流程组中传输出去,直到所有数据都在输出端口排队(即,在所有数据完成处理之前,没有数据离开流程组)。无论数据是否全部排队到同一个输出端口,还是一些数据排队到输出端口A,而另一些数据排队到输出端口B,这些条件在流文件处理完成方面都被视为相同。
将出站策略设置为“批量输出”,并结合使用“单个节点每次一个流文件”的FlowFile并发性,允许用户轻松摄取单个流文件(该流文件本身可能代表一批数据),然后等待直到该流文件的所有处理完成后再继续数据流的下一步(即流程组之外的下一个组件)。此外,在使用此模式时,从流程组传输出的每个流文件都将被赋予一系列属性,属性名称为“batch.output.<Port Name>”,每个流程组中的输出端口都有一个。该值将等于被路由到该输出端口的流文件数量。例如,考虑一个情况,其中一个单个流文件被拆分为5个流文件:两个流文件送到输出端口A,一个送到输出端口B,两个送到输出端口C,而没有流文件送到输出端口D。在这种情况下,每个流文件将具有属性 batch.output.A = 2, batch.output.B = 1, batch.output.C = 2, batch.output.D = 0。
当与“无限制”的FlowFile并发性结合使用时,“批量输出”出站策略不提供任何好处。因此,如果FlowFile并发性设置为“无限制”,则会忽略出站策略。

ETL工具-nifi干货系列 第十六讲 nifi Process Group实战教程,一文轻松搞定的更多相关文章
- 数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析
https://zhuanlan.zhihu.com/p/55295072 静态的分析经常不能满足实际分析的需要,还需要引入动态分析,通过调节某个维度的增减变化来观察对分析结果的影响.在PowerBI ...
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- 以太坊系列之十六: 使用golang与智能合约进行交互
以太坊系列之十六: 使用golang与智能合约进行交互 以太坊系列之十六: 使用golang与智能合约进行交互 此例子的目录结构 token contract 智能合约的golang wrapper ...
- 以太坊系列之十六:golang进行智能合约开发
以太坊系列之十六: 使用golang与智能合约进行交互 以太坊系列之十六: 使用golang与智能合约进行交互 此例子的目录结构 token contract 智能合约的golang wrapper ...
- OSGi 系列(十六)之 JDBC Service
OSGi 系列(十六)之 JDBC Service compendium 规范提供了 org.osgi.service.jdbc.DataSourceFactory 服务 1. 快速入门 1.1 环境 ...
- Spring Boot干货系列:(六)静态资源和拦截器处理
Spring Boot干货系列:(六)静态资源和拦截器处理 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类We ...
- 【微服务】之二:从零开始,轻松搞定SpringCloud微服务系列--注册中心(一)
微服务体系,有效解决项目庞大.互相依赖的问题.目前SpringCloud体系有强大的一整套针对微服务的解决方案.本文中,重点对微服务体系中的服务发现注册中心进行详细说明.本篇中的注册中心,采用Netf ...
- 从零开始,轻松搞定SpringCloud微服务系列
本系列博文目录 [微服务]之一:从零开始,轻松搞定SpringCloud微服务系列–开山篇(spring boot 小demo) [微服务]之二:从零开始,轻松搞定SpringCloud微服务系列–注 ...
- 轻松搞定RabbitMQ(六)——主题
转自 http://blog.csdn.net/xiaoxian8023/article/details/48806871 翻译地址:http://www.rabbitmq.com/tutorials ...
- 分分钟轻松搞定IBM系列 RAID5搭建
分分钟轻松搞定IBM系列 RAID5搭建 按照 以下图片步骤一步步可轻松完成IBM服务器RAID1.5.10等的搭建. 此例是以RAID5为例,RAID1和10可举一反三.
随机推荐
- uniapp小程序页面实现元素与胶囊进行居中对齐
无论是否为uni,关键在于获取胶囊中点的位置,如果是原生小程序根据小程序文档获取,其余逻辑处理是一致的 代码语法都只是技术选择,重点是逻辑处理,对于技术的运用,代码技术好比是积木,好的程序就是好的组合 ...
- 力扣506(java)-相对名次(简单)
题目: 给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分.所有得分都互不相同 . 运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高, ...
- HarmonyOS NEXT应用开发—自定义视图实现Tab效果
介绍 本示例介绍使用Text.List等组件,添加点击事件onclick,动画,animationTo实现自定义Tab效果. 效果预览图 使用说明 点击页签进行切换,选中态页签字体放大加粗,颜色由灰变 ...
- 阿里云 ACK 容器服务生产级可观测体系建设实践
简介: 随着容器被越来越对企业接纳与落地,可观测成为重点.那么,让我们深入了解阿里云 ACK 容器服务生产级可观测体系建设实践,为自身业务可观测提供参考- 作者:冯诗淳(行疾) ACK 可观测体系 ...
- Java工具篇之Disruptor高性能队列
简介: disruptor适用于多个线程之间的消息队列,`作用与ArrayBlockingQueue有相似之处`,但是disruptor从功能.性能都远好于ArrayBlockingQueue,当多个 ...
- OPLG:新一代云原生可观测最佳实践
简介:OPLG 体系拥有成熟且富有活力的开源社区生态,同时也经过了大量企业生产环境的实践检验,是当下建设新一代云原生统一可观测平台的热门选择.但是,OPLG 只是提供了一个技术体系,如何灵活运用,解 ...
- 阿里巴巴在开源压测工具 JMeter 上的实践和优化
简介:Apache JMeter 是 Apach 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史.JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一. 作者: ...
- Flink 和 Iceberg 如何解决数据入湖面临的挑战
简介: 4.17 上海站 Meetup 胡争老师分享内容:数据入湖的挑战有哪些,以及如何用 Flink + Iceberg 解决此类问题. 一.数据入湖的核心挑战 数据实时入湖可以分成三个部分,分别是 ...
- 最佳实践丨云上虚拟IDC(私有池)如何为客户业务的确定性、连续性保驾护航
简介: 企业业务上云后,还面临特定可用区购买云上特定计算产品实例失败的困境?云上私有池pick一下 Why 云上业务为什么需要资源确定性.服务连续性 云计算正朝着像水电煤一样的基础设施演进,支持用户 ...
- 外部工具连接SaaS模式云数据仓库MaxCompute实战——商业BI分析工具篇
简介: MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速.全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户 ...