Apache Nifi 简明教程

Apache NiFi - Introduction

Apache NiFi 是一个功能强大、易于使用且可靠的系统,用于在不同的系统之间处理和分发数据。它基于由 NSA 开发的 Niagara Files 技术,并在此后 8 年后捐赠给 Apache 软件基金会。它根据 Apache 许可证版本 2.0 发行,日期为 2004 年 1 月。Apache NiFi 的最新版本是 1.7.1。

Apache NiFi 是一個实时数据采集平台,可以传输和管理不同来源和目标系统之间的数据传输。它支持多种数据格式,如日志、地理位置数据、社交动态等。它还支持许多协议,如 SFTP、HDFS 和 KAFKA 等。对各种数据源和协议的支持使该平台在许多 IT 组织中广受欢迎。

Apache NiFi- General Features

Apache NiFi 的一般特性如下:

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

  2. 它具有高度的可配置性。这有助于用户确保传递、低延迟、高吞吐量、动态优先级、背压以及在运行时修改流程。

  3. 它还提供数据来源模块来跟踪和监控数据从流程开始到结束的过程。

  4. 开发者可以根据他们的需要创建自己的自定义处理器和报告任务。

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

  6. 它还支持用户和角色管理,也可以通过 LDAP 进行身份验证配置。

Apache NiFi -Key Concepts

Apache NiFi 的主要概念如下 −

  1. Process Group − 它是 NiFi 流程组,有助于用户以分层方式管理和保持流程。

  2. Flow − 它通过连接不同的处理器创建,以在需要时从一个或多个数据源传输和修改数据到其他目标数据源。

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

  4. Flowfile − 这是 NiFi 的基本用法,它表示从 NiFi 中源系统选取的数据的单个对象。NiFi 处理器在流文件从源处理器移动到目标处理器时对其进行更改。不同的事件,例如创建、克隆、接收等,由流程中的不同处理器对流文件执行。

  5. Event − 事件表示在遍历 NiFi 流程时流文件中的更改。这些事件在数据来源中被跟踪。

  6. Data provenance − 这是一个存储库。它还具有一个用户界面,使用户能够检查有关流文件的信息,并帮助解决在处理流文件期间出现的任何问题。

Apache NiFi Advantages

  1. Apache NiFi 通过使用 SFTP 从远程机器启用数据获取并保证数据谱系。

  2. Apache NiFi 支持集群,因此它可以在具有相同流处理不同数据的多节点上工作,这提高了数据处理的性能。

  3. 它还针对用户级别、流程组级别和其他模块提供了安全策略。

  4. 它的用户界面也可以在 HTTPS 上运行,这使得用户与 NiFi 的交互更加安全。

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

Apache NiFi Disadvantages

  1. 当用户对节点进行任何更改时,如果节点与 NiFi 集群断开连接,则 flow.xml 将失效。除非管理员手动从连接的节点复制 flow.xml,否则节点无法重新连接到该集群。

  2. 如果主节点切换,Apache NiFi 会出现状态持久性问题,这有时会导致处理器无法从源系统获取数据。