📜  Apache NiFi-简介

📅  最后修改于: 2020-11-18 08:39:08             🧑  作者: Mango


Apache NiFi是一个功能强大,易于使用且可靠的系统,可在不同的系统之间处理和分发数据。它基于NSA开发的Niagara Files技术,然后在8年后捐赠给Apache Software Foundation。它根据2004年1月的Apache许可版本2.0进行分发。Apache NiFi的最新版本是1.7.1。

Apache NiFi是一个实时数据提取平台,可以在不同源和目标系统之间传输和管理数据传输。它支持多种数据格式,例如日志,地理位置数据,社交订阅源等。它还支持许多协议,例如SFTP,HDFS和KAFKA等。此支持多种数据源和协议,使得该平台在许多IT组织。

Apache NiFi-常规功能

Apache NiFi的一般功能如下-

  • Apache NiFi提供了一个基于Web的用户界面,可在设计,控制,反馈和监视之间提供无缝的体验。

  • 它是高度可配置的。这可以帮助用户确保交付,低延迟,高吞吐量,动态优先级,背压并在运行时修改流。

  • 它还提供了数据源模块,以跟踪和监视从流的开始到结束的数据。

  • 开发人员可以创建自己的自定义处理器并根据需要报告任务。

  • NiFi还提供对SSL,HTTPS,SSH和其他加密等安全协议的支持。

  • 它还支持用户和角色管理,还可以配置LDAP以进行授权。

Apache NiFi-关键概念

Apache NiFi的关键概念如下-

  • 进程组-这是一组NiFi流程,可帮助用户以分层方式管理和保持流程。

  • 流程-创建该流程将连接不同的处理器,以在需要时将数据从一个或多个数据源传输和修改到另一个目标数据源。

  • 处理器-处理器是一个Java模块,负责从采购系统获取数据或将其存储在目标系统中。其他处理器也用于添加属性或更改流文件中的内容。

  • Flowfile-这是NiFi的基本用法,它代表从NiFi中的源系统中选取的数据的单个对象。当NiFiprocessor从源处理器移动到目的地时,它会对flowfile进行更改。流中的不同处理器在流文件上执行诸如CREATE,CLONE,RECEIVE等不同事件。

  • 事件-事件表示遍历NiFi流时流文件中的更改。这些事件在数据来源中进行跟踪。

  • 数据源-它是一个存储库,还具有一个UI,使用户可以检查有关流文件的信息,并有助于解决在处理流文件期间是否出现任何问题的问题。

Apache NiFi的优势

  • Apache NiFi使用SFTP支持从远程计算机获取数据,并保证数据沿袭。

  • Apache NiFi支持群集,因此它可以在具有相同流程的多个节点上处理不同的数据,从而提高了数据处理的性能。

  • 它还在用户级别,过程组级别和其他模块上提供安全策略。

  • 它的UI也可以在HTTPS上运行,这使用户与NiFi的交互更加安全。

  • NiFi支持大约188个处理器,用户还可以创建自定义插件以支持各种数据系统。

Apache NiFi的缺点

  • 当节点在用户进行任何更改时与NiFi群集断开连接时,flow.xml变为无效。除非管理员从连接的节点手动复制flow.xml,否则阳极无法连接回群集。

  • 在主节点切换的情况下,Apache NiFi存在状态持久性问题,这有时使处理器无法从采购系统中获取数据。