Nifi源码解读

NiFi是一个易于使用、功能强大、操作便利的数据处理data flow系统。
使用户可以不用写很多代码即可操作各种数据流。
目前关于NiFi的文档较少,只能一点点看源码,先把源码做一个大概的整理,之后再深入研究。

nifi源码

nifi-api:

nifi的API接口

nifi-bootstrap:

NiFi的启动、命令处理与监听

nifi-commons:工具包

data-provenance:
数据源:字段属性信息查询
expression-language:
表达式定义、解析
flowfile-packager:
文件流打包格式
hadoop-util:
用户验证
query-language:
查询语言定义
logging-util:
日志工具,格式,继承自Logger
processor-utilities:
数据处理器相关的定义与实现:Bin原型与各类监听(信息分发,事件监听,处理通道与回复监听等)
nifi-properties:
NiFi的常量定义与字符串处理常量函数
nifi-schema-util:
字段类型与记录类型定义
security-util:
安全方面,证书、密钥、SSL等
site-to-site-client:
NiFi实例之间传递数据的协议
socket-utils:
socket队列与消费者实现
utils:
异常、文件流、并发等用到的工具类
web-utils:
Web界面用到的工具函数
write-ahead-log:
序列化与反序列化,写前日志

nifi-docs:

文档

nifi-external:

example-bundle:
bundle样例,自定义数据处理器
spark-receiver:
从NiFi拉取数据包,作为spark输入
storm-spout:
NiFi可作为Storm的spout,为Storm输入数据,也可将Storm的数据送入NiFi Bolt处理

nifi-framework-api:

NiFi框架的API

nifi-maven-archetypes:

自定义processor与Service应遵循的maven项目结构

nifi-mock:

貌似单元测试,没看懂

nifi-nar-bundles: 引用的nar包

elasticsearch-bundle:
elasticsearch数据处理,elasticsearch作为数据输入和输出均可
email-bundle:
邮件数据处理
enrich-bundle:
DNS和Whois数据处理
evtx-bundle:
Windows Event Log文件数据(evtx)处理
flume-bundle:
Flume作为数据源的数据处理器
framework-bundle:
administration:管理员用户验证
authorizer:用户验证
client-dto:客户端组件信息相关
doucumentation:文档生成
file-authorizer:文件所有者验证
framework-authorization:数据访问权限,nifi用户验证工具类等
framework-cluster:集群的协作、事件、管理等实现
framework-cluster-protocol:集群所使用协议的实现
framework-core:框架核心内容:集群,组间连接,控制器,处理器,持久化等实现
framework-core-api:框架API
nar-utils:引入nar包的工具类
properties-loader:属性载入工具
resources:资源引入的脚本
runtime:nifi运行时类,有工具类LimitingInputStream,监听类BootstrapListener,NiFi类和NiFiServer类
security:安全方面,SSL
site-to-site:site-to-site的异常和协议等的实现
user-actions:用户行为改变的信息
nifi-web:
    custom-ui-utilities:httpServlet上下文
    jetty:jetty服务器
    ui-extension:UI扩展
    web-api:界面API,Spring,DAO及控制器,过滤器的实现
    web-content-access:内容下载的接口
    web-content-viewer:界面内容视图控制器实现,及CSS,JS
    web-docs:文档获取控制器实现,及CSS,JS
    web-error:界面相关错误类型实现,及CSS,JS
    web-optimistic-locking:乐观锁
    web-security:安全验证相关
    web-ui:界面定义相关,views,js,CSS等
hadoop-bundle:
与HDFS中数据交互的实现
hadoop-libraries-bundle:
hbase-bundle:
与Hbase中数据交互的实现
hive-bundle:
与Hive中数据交互的实现,包含连接池
hl7-bundle:
与Health Lvevel 7(HL7) 中数据交互
html-bundle:
HTML数据的提取与写入
ignite-bundle:
Ignite Cache数据处理
jetty-bundle:
jms-bundle:
jms-cf-service:jms(Java消息队列)连接池
jms-cf-processors:JMS数据处理
kafka-bundle:
kafka0.8,0.9,1.0版本的数据处理
keberos-iaa-providers-bundle:
keberos用户加密
kite-bundle:
压缩数据的处理
language-translation-bundle:
语言转换
ldap-iaa-providers-bundle:
登录验证
lumberjack-bundle:
lumberjack数据处理
media-bundle:
图片数据处理
mongodb-bundle:
mogodb数据处理
mqtt-bundle:
MQ消息队列数据处理
provenance-repository-bundle:
数据源持久化
ranger-bundle:
ranger插件
riemann-bundle:
Riemann交互
scripting-bundle:
Groovy,Javascript,Jython等脚本的配置运行
site-to-site-reporting-bundle:
site-to-site协议
slack-bundle:
使用Slack发送消息
snmp-bundle:
SNMP代理数据处理
social-media-bundle:
Twitter数据处理
solr-bundle:
Solr数据处理
splunk-bundle:
Splunk交互
spring-bundle:
Spring配置数据处理
standard-bundle:
jolt转json
standard-service:
dbcp-service-api:dbcp连接池
dbcp-service-bundle:
distributed-cache-client-service-api:分布式缓存与序列化
distributed-cache-client-services-bundle:NiFi的分布式缓存服务涉及到的协议,服务器,服务实现等
hbase-client-service-api:与HBase交互的服务
hbase_1_1_2-client-service-bundle:HBaseClientService for HBase 1.1.2.的具体实现
http-context-map-api:
    组件间请求交互接口
http-context-map-bundle:组件间请求交互实现
load-distribution-service-api:分布式服务接口
ssl-context-bundle:标准SSL上下文服务
ssl-context-service-api:SSL上下文服务接口
update-attibute-bundle:
update-attribute-model:XML注解定义
update-attribute-processor:更新文件流属性
update-attribute-ui:属性更新界面
websocket-bundle:
websocket-processors:WebSocket数据交互处理
websocket-services-api:websocket服务接口
websocket-services-jetty:WebSocketClientService与Server、session的具体实现
windows-event-log-bundle:
Windows-event-log数据处理

nifi-tookit:

toolkit-assembly:
编译打包
toolkit-encrypt-config:
加密
toolkit-s2s:
数据包序列化与反序列化
toolkit-tls:
命令行,TLS配置文件等工具类
toolkit-zookeeper-migrator:
从zookeeper导入导出数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值