Apache NiFi [1] - NiFiとはなにか -

ハイブリッドクラウド5部4グループの里見です。今回は業務で利用しているソフトウェアの中からApache NiFiというデータフローの管理に特化したツールを紹介します。

Apache NiFiとは

Apache NiFiは、多種多様なシステム間でデータ連携するためのデータフローをGUIベースで作成・管理し、実行できるソフトウェアで、データフローオーケストレーションツールと呼ばれます。

このソフトウェアはブラウザー上で手軽に操作ができ、新しく接続先を増やす/減らすといったことが簡単にできます。

また、データの流量をグラフで可視化することや、データごとに発生元を確認することも可能です。

もともとの名前をNiagaraFilesといい、アメリカのNSAで開発されたツールがOSS化されたものです。

NiFiでできること

NiFiは以下のような機能を実現することができます

  • 多種多様なシステム間でデータ連携をするためのデータフローをGUIで作成・管理し、実行
  • やりとりするデータの完全性を保証
  • ユーザーごとにアクセス範囲を変え、GUIから見える範囲を制御できることによるコンプライアンスとセキュリティへの対応と順守
  • NiFi組み込みの機能パーツ(Processerと呼ばれる)を用いてアプリケーション間のデータのやり取り
    • Processerに用意されていない機能についてはPython、Groovy、ECMAScript等のスクリプトを自分で記述することで実現することも可能
    • Processer自体を開発するSDKが提供されており、自作したProcesserを組み込んで使用することも可能
  • WebAPIにアクセスしての情報取得
  • リネージ機能によるデータの発生元確認
  • 簡易的なデータの加工
  • NiFiクラスタ間の双方向データ転送
  • IoTデータの収集と加工
    • MiNiFiと呼ばれるIoT機器に組み込むためのエージェントが用意されており、 データの収集に利用可能

NiFi UI

まとめ

NiFiはデータフローの管理について魅力的な機能を多く持ったツールとなっています。

OSSソフトウェアであり、公式ページから無料で試すことができますので興味を持った方がいらっしゃいましたら試してみてください。

公式サイト nifi.apache.org

次回の記事で構築方法について紹介します。

執筆担当者プロフィール
里見 悠太

里見 悠太(日本ビジネスシステムズ株式会社)

Hadoop/NiFi周りを得意としています。 SparkやKafkaを使ったデータフローについて勉強中です。

担当記事一覧