大数据NiFi(一):什么是NiFi

2022-12-30 18:21:18 浏览数 (2)

什么是NiFi

Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统,在大数据生态中的定位是成为一个统一的,与数据源无关的大数据集成平台。Apache NiFi 是为数据流设计,它支持高度可配置的指示图,来指示数据路由、转换和系统中流转关系,支持从多种数据源动态拉取数据。简单地说,NiFi是为自动化系统之间的数据流而生。 这里的数据流表示系统之间的自动化和受管理的信息流。 基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。未来NiFi有可能替换Flume、Sqoop等大数据导数据的工具。

NiFi官网地址:Apache NiFi

一、NiFi背景介绍

2006年NiFi由美国国家安全局(NSA)的Joe Witt创建。2015年7月20日,Apache 基金会宣布Apache NiFi顺利孵化成为Apache的顶级项目之一。NiFi初始的项目名称是Niagarafiles,当NiFi项目开源之后,一些早先在NSA的开发者们创立了初创公司Onyara,Onyara随之继续NiFi项目的开发并提供相关的支持。Hortonworks公司收购了Onyara并将其开发者整合到自己的团队中,形成HDF(Hortonworks Data Flow)平台。2018年Cloudera与Hortonworks合并后,新的CDH整合HDF,改名为Cloudera Data Flow(CDF)。Cloudera将NiFi作为其新产品Cloudera Flow Management和Cloudera Edge Management的核心组件推出,可以方便地使用Cloudera Manager进行Parcel安装和集成,而Apache NiFi就是CFM的核心组件。

二、​​​​​​​​​​​​​​传统数据流解决方案遇到的问题

传统数据流接收处理过程中存在如下问题:

  • 系统错误

包括网络错误、磁盘错误、软件崩溃,甚至是人为操作错误,造成了数据流处理不稳定。

  • 数据访问超过处理能力

当数据处理某一模块出现瓶颈问题时,不能及时处理到达的数据

  • 异常数据处理

不可避免出现数据太大,数据传输太慢,数据损坏、问题数据、数据碎片及数据格式错误问题。

  • 业务快速演进

现实业务或需求变更快,设计新的数据处理流程或者修改已有的流程必须要迅速。

  • 多系统升级不同步引入的前后兼容

原有系统的协议和数据格式,会伴随系统的升级有一定的调整,同时单个系统的升级会影响周边系统。数据流可以把多个大型分布式系统串边在一起,这些系统可以是松散地,甚至设计之初就没考虑未来集成。

  • 持续改进生产系统

通常不可能在测试环境中完全模拟生产环境。一旦测试通过的流处理流程有可能针对生产环境继续修改,耗时费力。

多年来,数据流(dataflow)一直是架构中的痛点之一。而现在有越来越多事物的兴起让企业开始重视数据流,包括:面向服务的体系结构(SOA),API,物联网IOT和大数据。此外,合规性,隐私性和安全性所需的严格程度也在不断提高。对于这些新鲜事物或概念,数据流的需求大致相同,主要区别在于复杂性,适应业务变化的速度,以及大规模边缘用例。NiFi旨在帮助解决这些现代数据流挑战。

三、​​​​​​​​​​​​​​NiFi特点

  • Apache NiFi 是一个易于使用、功能强大而且可靠的数据拉取、数据处理和分发系统,用于自动化管理系统间的数据流。
  • 支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。
  • NiFi基于Web方式工作,后台在服务器上进行调度,是Apache基金会的顶级项目之一。
  • 用户可以为数据处理定义为一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。

0 人点赞