📜  Apache NiFi-处理器关系(1)

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

Apache NiFi-处理器关系

Apache NiFi是一个可扩展的开源数据流处理系统,它提供了简单易用的可视化Web界面来处理和分发数据。它使用了处理器来执行各种操作并移动数据。处理器是Apache NiFi的核心组件之一,它们可以执行从基本到高级的各种操作,例如转换格式,加密解密等等。

处理器关系

在Apache NiFi中,处理器之间的关系是通过连接它们的队列来定义的。队列是处理器之间消息传递的通道。当一个处理器送出一个流量文件将其放入队列中,另一个处理器就可以从队列中读取并进一步处理它。下图是一个示例,描绘了三个不同处理器之间的关系,其中第一个处理器向第二个处理器发送消息,第二个处理器读取和转换消息格式,最后一个处理器将转换后的消息写入磁盘中。

NiFi Processor Relationships

在这个示例中,处理器之间的队列是单向的,有些情况下,两个处理器之间的队列是双向的。这就允许数据可以根据处理器的意愿自由移动。适当的在不同的处理器之间配置队列是确定Apache NiFi高效和有效的关键。

处理器分类

Apache NiFi的处理器可以被分类为以下几种。

输入处理器

输入处理器将数据传入到数据流。它们可以接受不同类型的数据,包括文件,传感器数据,Web服务,数据库结果或像Twitter,Facebook等社交媒体数据。例如,GetFile处理器可以接受文件作为输入,而GetTwitter处理器可以接收Twitter的数据。

处理处理器

处理处理器对输入数据进行转换或者合并处理。它们包括转换,路由,合并,滤波等。例如,ConvertJSONToSQL可以把输入的JSON数据转换成SQL语句,而RouteOnAttribute可以把输入数据基于属性进行路由。

输出处理器

输出处理器将数据输出到外部系统中。例如,PutFile可以把数据写入到文件系统或HDFS,而PutEmail可以把输入数据发送到指定的电子邮件地址。

使用处理器

通过Apache NiFi的Web界面,可以很方便的添加,配置和执行处理器。下图展示了处理器的添加和配置页面。

NiFi Processor Config

在这个页面中,我们可以定义处理器的属性和标签,以及它们之间的连接。我们也可以通过点击处理器,查看其状态,错误日志和相关统计数据来监控和优化数据流处理。

总结

Apache NiFi提供了一种可视化,可扩展,易于使用的界面来处理大规模数据流。通过处理器之间的连接和配置,我们可以轻松地转换,过滤和输出数据。理解处理器之间关系和分类是Apache NiFi在数据流处理中成功的关键。