美文网首页
Apache NiFi 初探

Apache NiFi 初探

作者: 小陈中间件 | 来源:发表于2020-04-04 17:11 被阅读0次

    本文是Apache NiFi 专栏的开篇,用来介绍Apache NiFi 是什么,主要解决什么问题。

    在学习一个新技术或新框架时,建议先查看其官方文档, Apache NiFi官方文档链接如下:官方文档,以获得对其形成一个整体的认识。

    1、Apache NiFi 是什么?

    • 按照官方的定义:NiFi就是为了解决不同系统间数据自动流通问题而建立的。

    • 我对Apache NiFi的理解:
      对数据基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理。

      NiFi图形界面
    • Apache NiFi核心

    名称 描述 功能图标
    FlowFile FlowFile代表NiFi中的一个单一数据。FlowFile由两个组件组成:FlowFile属性和FlowFile内容。 内容是由FlowFile表示的数据、 属性是提供关于数据的信息或上下文的特性,它们由键值对组成。
    FlowFile Processor (处理器) 实际上是处理器起主要作用。处理器就是不同系统间的数据路由,数据转换或者数据中介的组合。处理器可以访问给定FlowFile的属性及其内容。处理器可以对给定工作单元中的零或多个流文件进行操作,并提交该工作或回滚该工作。 处理器
    Connection (连接线) 连接提供组件之间的实际链接. 它们充当队列并允许各种进程以不同的速率进行交互。这些队列可以动态优先化,并且可以在加载时设置上限,从而实现回压功能。 连接线
    Flow Controller (流控制器) 流控制器负责维护流程如何连接,管理和分配流程中使用的线程。流控制器充当代理的角色,方便流文件和组件之间的进行数据的交互。
    Process Group (过程组) 过程组是一组特定的组件及其连接,可以通过输入端口接收数据并通过输出端口输出数据 。 过程组

    上述核心包含我们日常使用nifi的绝大多数组件。(数据的收集(souce)->数据的处理(Processing)->数据的下沉(sink))

    • Apache NiFi架构
      NiFi是基于Java的,使用Maven支持包的构建管理。 NiFi基于Web方式工作,后台在服务器上进行调度。
      架构图

    组件含义:

    1. Web浏览器:Apache NiFi 用来处理HTTP请求和API控制用的。

    2. 流控制器:流控制器引擎是数据操作的大脑。它为扩展程序提供运行的线程,并管理扩展程序何时接收要执行的资源的计划。

    3. 组件:Apache NiFi自有功能组件,这里不详细说明了。

    4. 扩展:用户自定义扩展了Apache NiFi组件,在JVM中运行和执行的。

    5. 流文件仓库:存储了flowfile的metadata,例如FileName,UUID。

    6. 内容仓库:存放了flowfile的内容。

    7. 溯源仓库:存放了flowfile的运行时状态。

    2、Apache NiFi 主要解决什么问题?

    • 数据流的一些高级别挑战
    名称 描述
    系统故障 网络故障,磁盘故障,软件崩溃,人为错误
    数据访问超出了消耗的能力 有时,给定的数据源可能超过处理或交付链的某些部分- 它只需要破坏一个薄弱环节就能产生问题
    组织要求快速响应变化 组织的优先事项突然发生变化。必须快速地启用新流程和更改现有流程
    数据的边界条件仅仅是摆设 你总是会得到太大,太小,太快,太慢,损坏,错误或格式错误的数据
    系统以不同的速率发展 不同系统使用的协议和格式是多变的,而不管其他的系统如何对接。数据流需要连接的本质上是分布式的系统,这些系统间是松散的,或着根本没有设计为能在一起工作
    合规与安全 法律,法规和政策的变化。业务协议的变化。系统到系统和系统到用户的交互必须是安全的,可信的,可追责的
    生产中持续改进 通常无法接近复制生产环境
    • 系统连接的困境
      企业数据孤岛。 集团公司各个子公司之间的数据孤立,公司的各个系统孤立,数据的物理存储和逻辑结构孤立。

    • 数据获取的困境
      繁杂专用获取数据工具。 每一个系统都有专用的数据获取工具,不同的数据格式有不同的工具。

    上述内容主要带大家初探Apache NiFi,这里不对性能和集群进行讲解,后续会单独出一篇文章进行讲解,下一篇会带大家进行demo实操,进入Apache NiFi的世界。

    相关文章

      网友评论

          本文标题:Apache NiFi 初探

          本文链接:https://www.haomeiwen.com/subject/zyijphtx.html