apache nifi introduction...自己紹介 • 小林 明斗(データフロー活用研究会) •...

22
Apache NiFi Introduction データフロー活用研究会 in OSC 2018 Hiroshima

Upload: others

Post on 05-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFi     Introductionデータフロー活用研究会

in OSC 2018 Hiroshima

Page 2: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

自己紹介• 小林 明斗(データフロー活用研究会)

• 関東の某SIerで開発プロジェクトへのシステム連携を中心とした技術支援をしています。

• 日本Apache Camelユーザ会のメンバとしても活動しています。

• 今回は、Apache NiFiを紹介します!

Page 3: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

What is Apache NiFi ??• Apache NiFi(アパッチ ナイファイ)

• データフローオーケストレーションツール

 →フローモデリング+実行基盤

• GUI(WebベースUI)でデータフローを描画

• 描画したデータフローがボタン一つで動く!

• Apache License Version 2.0 • Java製

Page 4: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

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で開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

データフローオーケストレーションって 具体的にどうやるの?

1. プロセッサを接続して、データフローを構築する

例: File To DB(CSVファイルのデータをDBに書き込む)

プロセッサ プロセッサ

データフロー

ファイル入力 SQL発行

Page 6: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

プロセッサ プロセッサファイル入力 SQL発行

2. プロセッサに設定をするファイルパスは?

データの取得契機は?(定時実行、一定周期)

隠しファイルは無視する?取得した

ファイルは削除する?

接続先DBのURLは?発行するSQL文は?

JDBCドライバは?DBの認証情報は? (user, password)

データフローオーケストレーションって 具体的にどうやるの?

Page 7: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

3. データフローを駆動する

再生風ボタンをクリック!

データフローオーケストレーションって 具体的にどうやるの?

Page 8: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

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で開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiを使ってみよう1. Apache NiFi のダウンロード

→https://nifi.apache.org/download.html

Page 10: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiを使ってみよう2. ダウンロードした圧縮ファイル(zip or tar.gz)解凍

3. NiFi起動! Linux, MacOSならこっち

Windowsならこっち* MacOSでの起動例

Page 11: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiを使ってみよう4. NiFiにアクセス → http://localhost:8080/nifi/

Page 12: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiでデータフローを作ってみよう!

Apache NiFi温度

DB

温度センサーから取得したデータをDBに受け渡す サンプルを作ります!

MQTT

Page 13: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiでデータフローを作ってみよう!

Apache NiFi DB

実際にセンサーを使いたいところですが、 今回は環境と時間の都合上…

温度MQTT

温度情報を記した CSVファイル

Page 14: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiでデータフローを作ってみよう!今回は、以下のようなイメージのデータフローを 作ってみます。

Apache NiFi

DBCSVファイルを取得 DBに書き込み

CSV ファイル

Page 15: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFiでデータフローを作ってみよう!

Demo

Page 16: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

(番外編) Apache NiFiで収集したデータを可視化してみよう!

Apache NiFi温度

BI分析

DBMQTT

Page 17: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

(番外編) Apache NiFiで収集したデータを可視化してみよう!

Demo

Page 18: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFi ユースケース

Apache NiFiBigData

BI

IoT

写真 位置情報

位置情報 ユーザデータ位置情報

温度

分析

AI

Deep Learning

学習

MQTT

Page 19: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFi ユースケース

Apache NiFi

LINE

Rule EngineChatBot

話しかける

SlackMattermost

Chat

回答

AI

Page 20: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFi ユースケース

A社

Cloud サービス

Apache NiFi

マルチクラウド

B社

Cloud サービス

Page 21: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Apache NiFi ユースケース

Apache NiFi

DB移行

A DB

B DB

Page 22: Apache NiFi Introduction...自己紹介 • 小林 明斗(データフロー活用研究会) • 関東の某SIerで開発プロジェクトへのシステム連 携を中心とした技術支援をしています。

Enjoy! Data Flow!

Apache NiFi https://nifi.apache.org/