📜  Apache NiFi-基本概念(1)

📅  最后修改于: 2023-12-03 14:39:16.684000             🧑  作者: Mango

Apache NiFi - 基本概念

简介

Apache NiFi是一个基于数据流编程的开源数据集成工具。 它被设计为一个可视化的Web界面,用于编排,管理和监测数据流处理程序的流程,这些数据流可以通过各种方式收集,加工和传递。 NiFi支持大量的数据源和目标,例如文件系统,Hadoop HDFS,Apache Kafka,Apache Cassandra,Amazon S3,MQTT等等。

基本概念
流程

Apache NiFi的核心概念是流程。 流程表示一个数据集成任务,可以通过可视化的方式在NiFi中表示。 流程是由各种处理器集成而成,这些处理器代表了数据转换和处理的不同功能。 可以像拼图一样将这些处理器连接在一起以构建数据流。

处理器

处理器是Apache NiFi中的核心组件,负责执行特定的数据处理任务。 处理器可以接收(input)和发送(output)数据。NiFi处理器可以转换数据格式,验证数据、筛选数据,将数据分类成相同特征的分组、连接系统等操作,每一个处理器都代表了数据流处理过程中的某个操作,可以直接在NiFi的UI界面中进行编辑。

连接器

连接器是连接不同处理器之间的对象,用于控制数据流在处理器之间正确地流转。连接器负责将处理器的输出发送到下一个处理器,并确保该数据被正确处理。NiFi连接器还可以表示数据流的优先级和队列,以及失败时重新尝试的次数。

流程标记

单位时间内在处理某些数据时,往往需要对其打上某些标记,以表示其在处理过程中的状态。对于Apache NiFi而言,这些标记称为流程标记(flow marks)。流程标记可以用于将数据标记为已处理或正在处理。Flowfile可以在处理过程中传递特殊的属性,例如记录上次使用的日期或者可以解析的字段等。

内容存储库

内容存储库是NiFi中存储数据的地方,它可以将数据存储在本地磁盘、Hadoop集群或Amazon S3等位置。处理器可以向内容存储库中写入或读取数据。内容存储库也存储处理过程中使用到的其他元数据。

总结

Apache NiFi是一个基于数据流编程的开源数据集成工具,用于编排、管理和监测数据流处理程序的流程,通过处理器、连接器、流程标记和内容存储库等概念,可以实现对数据进行转换和处理,并将数据在不同系统间进行传输。NiFi非常易用,可视化的界面让流程构建非常直观易懂,适用于各种场合的数据集成任务。