天天看點

etl工具nifi使用系列(一):nifi介紹及基本概念

之前一段時間從事nifi的開發工作,想總結一些經驗以便大家快速上手nifi

etl工具nifi使用系列(一):nifi介紹及基本概念

etl工具nifi使用系列(二):簡單資料處理processor的使用

etl工具nifi使用系列(三):關于nifi Expression Language 表達式

etl工具nifi使用系列(四):列印日志調試

etl工具nifi使用系列(五):與外部互動(HDFS、mysql、kafka)

etl工具nifi使用系列(六):使用ExecuteScript執行腳本

etl工具nifi使用系列(七):開發自己的processor

etl工具nifi使用系列(八):調用rest api

nifi官方網站:http://nifi.apache.org/

Apache NiFi supports powerful and scalable directed graphs of data

routing, transformation, and system mediation logic. Some of the

high-level capabilities and objectives of Apache NiFi include:

  • Web-based user interface
    • Seamless experience between design, control, feedback, and monitoring
  • Highly configurable
    • Loss tolerant vs guaranteed delivery
    • Low latency vs high throughput
    • Dynamic prioritization
    • Flow can be modified at runtime
    • Back pressure
  • Data Provenance
    • Track dataflow from beginning to end
  • Designed for extension
    • Build your own processors and more
    • Enables rapid development and effective testing
  • Secure
    • SSL, SSH, HTTPS, encrypted content, etc…
    • Multi-tenant authorization and internal authorization/policy management

nifi:一個易用、強大、可靠的資料處理與分發系統

  • 可視化指令與控制
    • 設計,控制,回報和監測之間的無縫體驗
  • 高度可配置
    • 損失容忍vs保證傳遞
    • 低延遲vs高吞吐量
    • 動态優先
    • 流可以在運作時修改
    • 資料回壓
  • 資料溯源
    • 從頭到尾跟蹤資料流
  • 為可擴充而設計
    • 建立自己的處理器和更多
    • 快速開發和有效的測試
  • 安全
    • SSL,SSH,HTTPS,加密内容等
    • 多租戶授權和内部授權/政策管理

nifi是将資料轉換成一種流的形式在各種處理器之間進行處理轉換的etl工具,它通過可視化可操作的使用者界面來編輯資料,更加直覺有效。

常用術語介紹:

  • FlowFile

    一個FlowFile代表每個被系統處理的資料對象,一個FlowFile由兩部分組成:屬性(FlowFile Attributes)和内容(FlowFile Content)。内容是資料本身,屬性是與資料相關的key-value的鍵值對,用于描述資料。所有flowFile都有以下标準屬性:uuid、filename、path

  • FlowFile Processor

    Processor是NiFi的元件,可以用來建立、發送、接受、轉換、路由、割裂、合并、處理FlowFiles。在使用者建立資料流時,Processor是最重要的組成部分

  • Connection

    提供Processors之間的連接配接,用來定義Processors之間的執行關系,并允許不同Processors之間以不同的速度進行互動

  • Flow Controller

    其負責維護Processors之間的關聯資訊,并且管理所有程序對于線程的使用、配置設定

  • Process Group

    一個特定集合的Processors與它們之間的連接配接關系形成一個Process Group,其定義了從接受端口接受資料到通過發送端口發送資料之間,整個資料流的處理過程。并可以通過簡單組合其它的部件來建立新的部件