【Apache NIFI 操作】Apache NiFi源码目录结构

【Apache NIFI 操作】Apache NiFi源码目录结构

要分析 maven 工程的源码,首要看的就是 pom 文件,通过 pom 文件,我们能够得知这个工程的大概。

​ 可以发现,这些 pom 工程大部分是子工程,都是一层套一层的父子pom 工程。那么我们首先找到最顶级的pom 工程,也就是 nifi:

在这里插入图片描述

这么一看,整个 NiFi 工程还是清晰了一些。

**nifi-api **: nifi 的应用程序接口,定义了整个工程所需要用到的接口、注解、抽象类和枚举等基本的接口和信息。

nifi-assembly: 负责 nifi 的成品装配, 工程打包最后形成的可供部署的压缩包就在这个工程里的 target 目录内。
nifi-bootstarp :负责 nifi 这个 jvm 应用程序的启动相关事宜。

nifi-commons: nifi 诸多特性,比如data-provenance、expression-language、s2s 传输的实现就在这里,同时也是 nifi 的工具类集合。
在这里插入图片描述
1)data-provenance-utils
数据源:字段属性信息查询
2)expression-language
表达式定义、解析
3)flowfile-packager
文件流打包格式
4)query-language
查询语言定义
5)json-utils
6)logging-util
日志工具,格式,继承自Logger
7)properties
NiFi的常量定义与字符串处理常量函数
8)record
9)record-path
10)record-read-writer
11)schema-utils
字段类型与记录类型定义
12)security-utils
安全方面,证书、密钥、SSL等
13)site-to-site-client
NiFi实例之间传递数据的协议
14)socket-utils
socket队列与消费者实现
15)utils
异常、文件流、并发等用到的工具类
16)web-utils
Web界面用到的工具函数
17)write-ahead-log
序列化与反序列化,写前日志

nifi-docker: nifi 的 docker 应用相关。

nifi-docs: nifi 的文档 实现相关。

nifi-external: nifi 内部元信息和外部交换,主要用于集群模式下。
在这里插入图片描述
1)example-bundle
bundle样例,自定义数据处理器
2)spark-receiver
从NiFi拉取数据包,作为spark输入
3)storm-spout
NiFi可作为Storm的spout,为Storm输入数据,也可将Storm的数据送入NiFi Bolt处理

**nifi-framework-api **:这就是nifi 核心框架层的api,注意这里只是各种接口信息定义,不是实现。

nifi-maven-archetypes: 这里只是为了生成两个 maven archetype。一个是 nifi 自定义处理器的脚手架,一个是 nifi 自定义服务的脚手架。这些脚手架在 maven 的中央仓库都有提供。(自定义processor与Service应遵循的maven项目结构)

nifi-mock: 用于 nifi 的 mock 测试。

nifi-nar-bundles: 之前一直说的 nifi java 工具箱就是这里了。整个 nifi 里面大部分的 maven 工程都是这个工程的子工程。在这个工程里面,一个 bundle 就是一个工具。

nifi-toolkit:这里面是 nifi 的命令行工具的实现。nifi 也提供了比较丰富的命令行指令。
在这里插入图片描述
1)toolkit-assembly
编译打包
2)toolkit-encrypt-config
加密
3)toolkit-s2s
数据包序列化与反序列化
4)toolkit-tls
命令行,TLS配置文件等工具类
5)toolkit-zookeeper-migrator
从zookeeper导入导出数据

以上就是 NiFi 源码的总体结构了。有了总体的概览以后,我们需要研究哪一方面的源码实现,就可以直接去相应的 module 里面看了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值