apache nifi introduction...自己紹介 • 小林 明斗(データフロー活用研究会) •...
TRANSCRIPT
![Page 1: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/1.jpg)
Apache NiFi Introductionデータフロー活用研究会
in OSC 2018 Hiroshima
![Page 2: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/2.jpg)
自己紹介• 小林 明斗(データフロー活用研究会)
• 関東の某SIerで開発プロジェクトへのシステム連携を中心とした技術支援をしています。
• 日本Apache Camelユーザ会のメンバとしても活動しています。
• 今回は、Apache NiFiを紹介します!
![Page 3: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/3.jpg)
What is Apache NiFi ??• Apache NiFi(アパッチ ナイファイ)
• データフローオーケストレーションツール
→フローモデリング+実行基盤
• GUI(WebベースUI)でデータフローを描画
• 描画したデータフローがボタン一つで動く!
• Apache License Version 2.0 • Java製
![Page 4: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/4.jpg)
Apache NiFi’s Hisotry• 2014年に米国家安全保障局(NSA)が開発していた「Niagarafiles」がApache Software FoundationにOSSとして寄贈
• 「Niagarafiles」の名の通り、データが滝のように流れるイメージ
• 2015年には、Apacheのトッププロジェクトに昇格
2015 2016 2017 2018
0系
1系●7月 1.7.1
●6月 1.7.0●4月 1.6.0
●1月 1.5.0
●10月 1.4.0●6月 1.3.0
●5月 1.2.0●2月 1.1.2
●12月 1.1.1●11月 1.1.0
●8月 1.0.0
●7月 0.2.1●9月 0.3.0
●12月 0.4.0●12月 0.4.1
●2月 0.5.0●2月 0.5.1
●3月 0.6.0●4月 0.6.1
●7月 0.7.0●10月 0.7.1
●2月 0.7.2●5月 0.7.3●6月 0.7.4
![Page 5: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/5.jpg)
データフローオーケストレーションって 具体的にどうやるの?
1. プロセッサを接続して、データフローを構築する
例: File To DB(CSVファイルのデータをDBに書き込む)
プロセッサ プロセッサ
データフロー
ファイル入力 SQL発行
![Page 6: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/6.jpg)
プロセッサ プロセッサファイル入力 SQL発行
2. プロセッサに設定をするファイルパスは?
データの取得契機は?(定時実行、一定周期)
隠しファイルは無視する?取得した
ファイルは削除する?
接続先DBのURLは?発行するSQL文は?
JDBCドライバは?DBの認証情報は? (user, password)
データフローオーケストレーションって 具体的にどうやるの?
![Page 7: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/7.jpg)
3. データフローを駆動する
再生風ボタンをクリック!
データフローオーケストレーションって 具体的にどうやるの?
![Page 8: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/8.jpg)
JavascriptGroovy
データ入出力プロセッサが沢山!Oracle AWS
TCP
UDPKafka
MQTT
JMS
File
FTP
MongoDB
HadoopHDFS
TwitterSFTP
ElasticsearchHBase
Splunk
AMQP
GCPAzure
Hive
Kudu
Slack
Couchbase
Big Data
Messaging Queue
PostgreSQLMySQLRDBMS
HTTP(REST)
マルチプロトコル HTTP, FTP, SFTP TCP, UDP
DynamoDB
PythonRuby
Flume
Solr
Cassandra
NoSQL
WebSocket
Web
Log / File / SearchScript
OS Command
Cloud
![Page 9: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/9.jpg)
Apache NiFiを使ってみよう1. Apache NiFi のダウンロード
→https://nifi.apache.org/download.html
![Page 10: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/10.jpg)
Apache NiFiを使ってみよう2. ダウンロードした圧縮ファイル(zip or tar.gz)解凍
3. NiFi起動! Linux, MacOSならこっち
Windowsならこっち* MacOSでの起動例
![Page 12: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/12.jpg)
Apache NiFiでデータフローを作ってみよう!
Apache NiFi温度
DB
温度センサーから取得したデータをDBに受け渡す サンプルを作ります!
MQTT
![Page 13: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/13.jpg)
Apache NiFiでデータフローを作ってみよう!
Apache NiFi DB
実際にセンサーを使いたいところですが、 今回は環境と時間の都合上…
温度MQTT
温度情報を記した CSVファイル
![Page 14: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/14.jpg)
Apache NiFiでデータフローを作ってみよう!今回は、以下のようなイメージのデータフローを 作ってみます。
Apache NiFi
DBCSVファイルを取得 DBに書き込み
CSV ファイル
![Page 15: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/15.jpg)
Apache NiFiでデータフローを作ってみよう!
Demo
![Page 16: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/16.jpg)
(番外編) Apache NiFiで収集したデータを可視化してみよう!
Apache NiFi温度
BI分析
DBMQTT
![Page 17: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/17.jpg)
(番外編) Apache NiFiで収集したデータを可視化してみよう!
Demo
![Page 18: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/18.jpg)
Apache NiFi ユースケース
Apache NiFiBigData
BI
IoT
写真 位置情報
位置情報 ユーザデータ位置情報
温度
分析
AI
Deep Learning
学習
MQTT
![Page 19: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/19.jpg)
Apache NiFi ユースケース
Apache NiFi
LINE
Rule EngineChatBot
話しかける
SlackMattermost
Chat
回答
AI
![Page 20: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/20.jpg)
Apache NiFi ユースケース
A社
Cloud サービス
Apache NiFi
マルチクラウド
B社
Cloud サービス
![Page 21: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/21.jpg)
Apache NiFi ユースケース
Apache NiFi
DB移行
A DB
B DB
![Page 22: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。](https://reader030.vdocuments.net/reader030/viewer/2022040818/5e6280cfdf58c21e9c43b6b8/html5/thumbnails/22.jpg)
Enjoy! Data Flow!
Apache NiFi https://nifi.apache.org/