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導入導出數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章