ApacheNiFi-はじめに
Apache NiFiは、異種システム間でデータを処理および配布するための強力で使いやすく、信頼性の高いシステムです。これは、NSAによって開発されたNiagara Filesテクノロジーに基づいており、8年後にApache SoftwareFoundationに寄付されました。2004年1月のApacheLicenseバージョン2.0で配布されています。ApacheNiFiの最新バージョンは1.7.1です。
Apache NiFiは、リアルタイムのデータ取り込みプラットフォームであり、さまざまなソースシステムと宛先システム間でデータ転送を転送および管理できます。ログ、地理的位置データ、ソーシャルフィードなど、さまざまなデータ形式をサポートします。また、SFTP、HDFS、KAFKAなどの多くのプロトコルもサポートします。このプラットフォームは、さまざまなデータソースとプロトコルをサポートしているため、多くのIT組織。
ApacheNiFi-一般的な機能
ApacheNiFiの一般的な機能は次のとおりです。
Apache NiFiは、設計、制御、フィードバック、および監視の間のシームレスなエクスペリエンスを提供するWebベースのユーザーインターフェイスを提供します。
高度な設定が可能です。これにより、ユーザーは、配信の保証、低遅延、高スループット、動的な優先順位付け、バックプレッシャー、および実行時のフローの変更を行うことができます。
また、フローの開始から終了までデータを追跡および監視するためのデータ来歴モジュールも提供します。
開発者は、必要に応じて独自のカスタムプロセッサとレポートタスクを作成できます。
NiFiは、SSL、HTTPS、SSH、その他の暗号化などの安全なプロトコルのサポートも提供します。
また、ユーザーと役割の管理をサポートし、承認のためにLDAPを使用して構成することもできます。
ApacheNiFi-重要な概念
ApacheNiFiの重要な概念は次のとおりです-
Process Group −これはNiFiフローのグループであり、ユーザーがフローを階層的に管理および維持するのに役立ちます。
Flow −必要に応じて、1つまたは複数のデータソースから別の宛先データソースにデータを転送および変更するために、異なるプロセッサを接続して作成されます。
Processor−プロセッサは、ソーシングシステムからデータをフェッチするか、デスティネーションシステムにデータを保存することを担当するJavaモジュールです。他のプロセッサも、フローファイルの属性を追加したりコンテンツを変更したりするために使用されます。
Flowfile−これはNiFiの基本的な使用法であり、NiFiのソースシステムから選択されたデータの単一のオブジェクトを表します。NiFiprocessorは、ソースプロセッサからデスティネーションに移動する間にフローファイルに変更を加えます。CREATE、CLONE、RECEIVEなどのさまざまなイベントが、フロー内のさまざまなプロセッサによってフローファイルに対して実行されます。
Event−イベントは、NiFiフローを通過する際のフローファイルの変更を表します。これらのイベントは、データの出所で追跡されます。
Data provenance −リポジトリです。UIもあり、ユーザーはフローファイルに関する情報を確認でき、フローファイルの処理中に問題が発生した場合のトラブルシューティングに役立ちます。
ApacheNiFiの利点
Apache NiFiは、SFTPを使用してリモートマシンからのデータフェッチを可能にし、データ系統を保証します。
Apache NiFiはクラスタリングをサポートしているため、同じフローで異なるデータを処理する複数のノードで機能し、データ処理のパフォーマンスを向上させます。
また、ユーザーレベル、プロセスグループレベル、およびその他のモジュールのセキュリティポリシーも提供します。
そのUIはHTTPSでも実行できるため、ユーザーとNiFiとのやり取りが安全になります。
NiFiは約188のプロセッサをサポートし、ユーザーはさまざまなデータシステムをサポートするカスタムプラグインを作成することもできます。
ApacheNiFiの短所
ユーザーがノードに変更を加えているときにノードがNiFiクラスターから切断されると、flow.xmlは無効になります。管理者が接続されたノードからflow.xmlを手動でコピーしない限り、アノードはクラスターに接続できません。
Apache NiFiには、プライマリノードスイッチの場合に状態の永続性の問題があり、プロセッサがソーシングシステムからデータをフェッチできなくなることがあります。