Apache NiFi - 簡介



Apache NiFi 是一個功能強大、易於使用且可靠的系統,用於在不同的系統之間處理和分發資料。它基於美國國家安全域性 (NSA) 開發的 Niagara Files 技術,並在 8 年後捐贈給 Apache 軟體基金會。它根據 Apache 許可證版本 2.0(2004 年 1 月)釋出。Apache NiFi 的最新版本是 1.7.1。

Apache NiFi 是一個即時資料攝取平臺,可以傳輸和管理不同來源和目標系統之間的資料傳輸。它支援各種各樣的資料格式,例如日誌、地理位置資料、社交資訊流等。它還支援許多協議,例如 SFTP、HDFS 和 Kafka 等。對各種資料來源和協議的支援使其成為許多 IT 組織中流行的平臺。

Apache NiFi - 一般特性

Apache NiFi 的一般特性如下:

  • Apache NiFi 提供基於 Web 的使用者介面,在設計、控制、反饋和監控之間提供無縫體驗。

  • 它高度可配置。這有助於使用者實現可靠投遞、低延遲、高吞吐量、動態優先順序、背壓以及在執行時修改資料流。

  • 它還提供資料溯源模組來跟蹤和監控從資料流開始到結束的資料。

  • 開發人員可以根據需要建立自己的自定義處理器和報表任務。

  • NiFi 還支援安全的協議,例如 SSL、HTTPS、SSH 和其他加密。

  • 它還支援使用者和角色管理,並且可以與 LDAP 配置以進行授權。

Apache NiFi - 關鍵概念

Apache NiFi 的關鍵概念如下:

  • 處理組 - 它是一組 NiFi 資料流,幫助使用者以分層方式管理和維護資料流。

  • 資料流 - 透過連線不同的處理器來建立,用於傳輸和修改資料(如果需要)從一個或多個數據源到另一個目標資料來源。

  • 處理器 - 處理器是一個 Java 模組,負責從源系統獲取資料或將其儲存到目標系統。其他處理器還用於在 FlowFile 中新增屬性或更改內容。

  • FlowFile - 這是 NiFi 的基本用法,它表示從 NiFi 中源系統提取的資料的單個物件。NiFi 處理器在 FlowFile 從源處理器移動到目標處理器的過程中對其進行更改。不同的事件,例如 CREATE、CLONE、RECEIVE 等,由資料流中的不同處理器在 FlowFile 上執行。

  • 事件 - 事件表示 FlowFile 在遍歷 NiFi 資料流期間的變化。這些事件在資料溯源中進行跟蹤。

  • 資料溯源 - 它是一個儲存庫。它還有一個 UI,使使用者能夠檢查有關 FlowFile 的資訊,並在處理 FlowFile 期間出現任何問題時幫助進行故障排除。

Apache NiFi 優勢

  • Apache NiFi 使用 SFTP 從遠端機器獲取資料,並保證資料血緣。

  • Apache NiFi 支援叢集,因此它可以在多個節點上執行相同的流程來處理不同的資料,從而提高資料處理的效能。

  • 它還在使用者級別、處理組級別和其他模組上提供安全策略。

  • 它的 UI 也可以在 HTTPS 上執行,這使得使用者與 NiFi 的互動更加安全。

  • NiFi 支援大約 188 個處理器,使用者還可以建立自定義外掛以支援各種各樣的資料系統。

Apache NiFi 缺點

  • 當節點在使用者對其進行任何更改時與 NiFi 叢集斷開連線時,flow.xml 將變得無效。除非管理員手動從連線的節點複製 flow.xml,否則節點無法重新連線到叢集。

  • Apache NiFi 在主節點切換的情況下存在狀態永續性問題,這有時會導致處理器無法從源系統獲取資料。

廣告
© . All rights reserved.