📜  Apache NiFi-处理器分类(1)

📅  最后修改于: 2023-12-03 15:29:25.777000             🧑  作者: Mango

Apache NiFi-处理器分类

Apache NiFi是一个基于Web的数据流管理工具,用于自动化流式数据的收集,处理和分发。它提供了一个可视化的界面,帮助用户快速配置数据流管道。

NiFi处理器是一个用来处理数据流的基本单元,它可以让你从输入源获取数据,并将其转换成可处理的格式。本文将介绍NiFi的处理器分类。

输入处理器

输入处理器用于从外部资源或部件收集数据,某些常见的输入器包括:

  • GetFile: 用于获取本地磁盘上的文件。
  • GetFTP: 用于获取FTP服务器上的文件。
  • GetHDFS: 从HDFS(Hadoop分布式文件系统)中获取文件。
  • GetHTTP: 从HTTP端点中获取数据。
  • GetKafka: 使用Apache Kafka的Consumer API从Kafka Topic中读取数据。
处理数据的处理器

处理数据的处理器是NiFi中最重要的一类处理器,用于转换、解析、修剪、过滤、过渡、聚合、合并等操作,比较常见的处理器有:

  • SplitText: 根据制定的分隔符将文本拆分为多个记录。
  • ExtractText: 从文本中提取特定的数据,例如IP地址或电子邮件地址。
  • RouteOnAttribute: 基于属性的值进行动态路由,将相关处理器放在不同的流程上运行。
  • ReplaceText: 用指定的值替换文本中的特定文本或正则表达式。
  • MergeContent: 将多个记录合并为单个记录。
输出处理器

输出处理器用于将数据发送到外部系统,包括:

  • PutFile: 用于将数据写入到本地磁盘文件中。
  • PutFTP: 用于将数据写入FTP服务器上。
  • PutHDFS: 将数据写入到HDFS中。
  • PutKafka: 使用Apache Kafka的Producer API将数据写入Kafka Topic中。

当然,NiFi还包括了许多其他类型的处理器, 如加密、解码、数据探索等等。

下面是一个简单的示例流程,该流程使用GetHTTP处理器收集从Web站点抓取的文件,在使用ReplaceText处理器替换文本中的特定值,并使用PutFile处理器将其写入本地磁盘。

GetHTTP --> ReplaceText --> PutFile

本文提供了一个简单的输入、处理、输出的流程概述,但是NiFi还包括了许多其他类型的处理器,因此分类也可能是相当广泛的。这里的目的只是给那些初次使用NiFi的开发人员一些指导,帮助他们按照类别对处理器进行搜索和选择。