NiFi源码整理

Posted zhongrui_fzr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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导入导出数据

以上是关于NiFi源码整理的主要内容,如果未能解决你的问题,请参考以下文章

MAVEN编译NIFI源码

使用1个端口或具有10,000+个传感器数据的多个端口进行nifi摄取?

Nifi:初识nifi

大数据NiFi:什么是NiFi

Nifi01概念

Nifi01概念