【大数据】NiFi 中的重要术语

news/2025/2/12 8:07:00/

NiFi 中的重要术语

  • 1.Flow Controller
  • 2.Processor
  • 3.Connection
  • 4.Controller Service
  • 5.Process Group
  • 6.FlowFile

那些一个个黑匣子称为 Processor,它们通过称为 Connection 的队列交换名为 FlowFile 的信息块。最后,FlowFile Controller 负责管理这些组件之间的资源。

在这里插入图片描述

1.Flow Controller

在 NIFI 的代码架构设计中有一个模块叫 Extension,这个模块里包含了以下我们说的 ProcessorController Service 等等可扩展的部分。Flow Controller 是将一切融合在一起的粘合剂。它为处理器分配和管理线程。

在这里插入图片描述

2.Processor

处理器是执行操作的黑匣子。处理器可以访问 FlowFile 的属性和内容来执行所有类型的操作。它们使你能够在数据输入,标准数据转换 / 验证任务中执行许多操作,并将这些数据保存到各种数据接收器。

图片

3.Connection

Connection 是处理器之间的队列。这些队列允许处理器以不同的速率进行交互,就像存在不同尺寸的水管。 Connection 可以具有不同的容量。

图片
如果 FlowFiles 的数量或数据量超过定义的阈值,则将触发背压机制(backpressure)。在队列中没有空间之前,Flow Controller 不会安排 Connection 上游的处理器再次运行。

4.Controller Service

例如数据库连接池或云服务提供商凭据。Controller Service 是守护进程(daemons)。它们在后台运行,并提供配置,资源和参数供处理器执行。

图片

5.Process Group

一堆处理器及其连接可以组成一个 Process Group。你添加了一个 Input Port 和一个 Output Port,以便 Process Group 可以接收和发送数据。

图片

6.FlowFile

在这里插入图片描述
FlowFile 分为两个部分:

  • Attributes:即键 / 值对。例如,文件名,文件路径和唯一标识符是标准属性。
  • Content:对字节流的引用构成了 FlowFile 内容。

FlowFile 不包含数据本身,否则会严重限制 pipeline 的吞吐量。相反,FlowFile 保留的是一个指针,该指针引用存储在本地存储中某个位置的数据。这个地方称为 内容存储库Content Repository)。

图片
当处理器修改 FlowFile 的内容时,将保留先前的数据。NIFI 的 copies-on-write 机制会在将内容复制到新位置时对其进行修改。原始信息保留在内容存储库中。


http://www.ppmy.cn/news/1200811.html

相关文章

【从0到1开发一个网关】网关Mock功能的实现

文章目录 什么是Mock?如何实现Mock什么是Mock? Mock(模拟)是一种测试技术,用于创建虚拟对象来模拟真实对象的行为。Mock对象模拟了真实对象的行为,但是不依赖于真实对象的实现细节。它们可以在测试中替代真实对象,以便进行独立的单元测试。 需要使用Mock的原因包括以下几…

windows 下 QT Android 环境搭建(QGC 4.2.x + Qt 5.15.2)

文章目录 1. QT Creator 环境搭建2. JDK1)官网途径:2) 360 安装:配置 3. SDK1) 通过 Android Studio2)QT 配置中安装 姊妹篇: win10下新版QGC地面站环境搭建全面攻略(v4.x.x QGroundControl地面站搭建&…

全面的Docker快速入门教程

前言: 都2023年了,你还在为了安装一个开发或者部署环境、软件而花费半天的时间吗?你还在解决开发环境能够正常访问,而发布正式环境无法正常访问的问题吗?你还在为持续集成和持续交付(CI / CD)工…

思维模型 首因效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。先入为主,一见钟情。 1 首因效应的应用 1.1 面试中的首因效应 小李是一名应届毕业生,他准备参加一家知名互联网公司的面试。在面试前,他做了充分的准备…

后端配置跨域怎么配置

在后端配置跨域,需要在服务器的代码中添加相应的设置。以下是几种常见的后端语言的跨域配置方式: Node.js 在使用 Node.js 的 Express 框架时,可以使用 cors 中间件来处理跨域问题。安装 cors 中间件后,在代码中添加如下设置&am…

【Kubernetes部署】通过Kubeadm部署Kubernetes高可用集群

Kubeadm 一、kubeadm部署思路二、基本架构2.1 资源分配2.2 系统初始化操作(所有节点)2.2.1关闭防火墙、selinux和swap分区2.2.2 修改主机名,添加域名映射2.2.3 内核相关2.2.4 加载ip_vs模块2.2.5 时间同步 三、部署docker3.1 通过yum安装dock…

学习代码20231106

解释代码:os.environ[“OMP_NUM_THREADS“] “1“ 这行代码涉及到 Python 的 os 模块和环境变量。它的作用是设置名为 “OMPNUMTHREADS” 的环境变量的值为 “1”。让我解释一下各部分的含义: 1.os.environ: 这是 Python 中的一个字典,包含…

登录Tomcat控制台,账号密码输入正确但点击登录没反应不跳转到控制台页面

在tomcat-users.xml里面可以查看登录tomcat控制台的账号密码,如果账号密码输入正确还是登录不进去,则很有可能是tomcat的账号被锁了(可在catalina.xxx.log里面查看)。tomcat账号被锁定后默认情况是不访问控制台后5分钟自动解锁&am…