IoTアプリケーションで利⽤するApache NiFi
Yuta	Imai	
Solu,ons	Engineer,	Hortonworks	
©	Hortonworks	Inc.	2011	–	2015.	All	Rights	Reserved
2	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Agenda
Ã  HDP	and	HDF	
Ã  What	you	can	do	with	Spark	
Ã  Spark	Reference	Architecture	
Ã  Demo
3	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
HDP	and	HDF
4	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Spark is certified as YARN Ready and is a part of HDP.
Hortonworks Data Platform 2.4
GOVERNANCE		 OPERATIONS	BATCH,	INTERACTIVE	&	REAL-TIME	DATA	ACCESS	
YARN:	Data	OperaAng	System	
(Cluster	Resource	Management)	
Map		
Reduce	
Apache	Falcon	
Apache	Sqoop	
Apache	Flume	
Apache	KaTa	
Apache	
	Hive	
Apache	
	Pig	
Apache	
	HBase	
Apache	
	Accumulo	
Apache	
	Solr	
Apache		
Spark	
Apache	
	Storm	
1	 •	 •	 •	 •	 •	 •	 •	 •	 •	 •	 •	
•	 •	 •	 •	 •	 •	 •	 •	 •	 •	 •	 •	
HDFS		
(Hadoop	Distributed	File	System)	
Apache	Ambari	
Apache	
ZooKeeper	
Apache	Oozie	
Deployment	Choice	
Linux Windows On-premises Cloud
Apache	Atlas	
Cloudbreak	
SECURITY	
Apache	Ranger	
Apache	Knox	
Apache	Atlas	
HDFS	Encryp,on	
ISV		
Engines
5	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
HDF	and	HDP	
HDF	
Hadoop	
HDFS	
HBase	 Hive	 SOLR	
YARN	
Storm	
Service	
Management	/	
Workflow	
SIEM	
Spark	
Raw	Network	Stream	
Network	Metadata	Stream	
Data	Stores	
Syslog	
Raw	ApplicaAon	Logs	
Other	Streaming	Telemetry
6	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoT	and	NiFi
7	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoT?
8	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	自動車	
Ã  想定されるユーザー:	運送会社やタクシー会社等の商用自動車ユーザー	
Ã  フリートマネジメント	
–  資産としての車の利用率最適化
–  燃費最適化	
Ã  個別の車のマネジメント	
–  故障予知	
–  部品マネジメント	
Ã  個別のドライバのマネジメント	
–  運転の安全性についてのスコアリング
9	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	自動車	
Ã  想定されるユーザー:	運送会社やタクシー会社等の商用自動車ユーザー	
Ã  フリートマネジメント	
–  資産としての車の利用率最適化
–  燃費最適化	
Ã  個別の車のマネジメント	
–  故障予知	
–  部品マネジメント	
Ã  個別のドライバのマネジメント	
–  運転の安全性についてのスコアリング	
データソース
•  ⾞から上がってくるセンサーデータ
•  天候
•  道路/交通情報
•  ⾞の管理情報
•  ドライバの管理情報
10	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
10	
SueJim
HDP Data Analyst HDP Developer
Jim and Sue Build Monitoring App Demo Here
違反や事故を予測	
車のU,liza,onを可視化	
交通渋滞を予測
11	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoTデータでコネクテッドカーのデータをさらに豊富に
⾃動⾞センサー
•  速度計
•  気圧計
•  タイヤプレッシャ
•  フロントガラスウォッシャー
•  GPS
WiFi
•  Beacon frames
•  Request probes
気象情報
•  気温
•  降⽔量と⾵の速度
道路
•  トラフィックカメラ
•  制限速度
ソーシャル
•  Twitter
12	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Usage Based Insurance
•  彼らはSnapshotと呼ばれるデバイス経由でリア
ルタイムに⾃動⾞からアップロードされるデータ
と道路の混雑状況のデータ、そして過去の様々な
データを組み合わせることによりドライバーごと
に価格最適化を⾏うことにより、総額にして約5
億6千万ドルの保険料割引を実現したと発表しま
した。
•  右の写真のデモは、⾚い円筒が、過去のデータか
ら得られた事故多発地帯や犯罪多発地帯を表して
おり、被保険者の⾞がこのエリアに侵⼊したこと
を⾃動的に検知する仕組みを可視化したものです。
13	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved
14	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	農業	
Ã  想定されるユーザー:	農業事業者	
Ã  状態の把握	
–  温度、湿度、日照時間等を記録しておいたものと、出来上がった農作物の出来を付きあわ
せてベストプラクティスやバッドプラクティスの数値化。	
–  問題が起こるであろう状態の把握と通知。そして記録。	
Ã  環境最適化	
–  自動散水	
–  ビニールハウス内の最適状態維持	
•  温度や湿度、日照度など	
–  ドローンのコントロール
15	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	農業	
Ã  想定されるユーザー:	農業事業者	
Ã  状態の把握	
–  温度、湿度、日照時間等を記録しておいたものと、出来上がった農作物の出来を付きあわ
せてベストプラクティスやバッドプラクティスの数値化。	
–  問題が起こるであろう状態の把握と通知。そして記録。	
Ã  環境最適化	
–  自動散水	
–  ビニールハウス内の最適状態維持	
•  温度や湿度、日照度など	
–  ドローンのコントロール	
データソース
•  センサーデータ
•  カメラによる画像/動画
•  天候
•  天候の予報
•  市場データ
16	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	通信事業者	
Ã  想定されるユーザー:	通信事業者	
Ã  セルタワーの管理と最適化	
–  利用率の監視と最適化	
–  フェムトセル管理	
Ã  Self	Op,mizing	Network	
–  顧客通信の帯域の最大化	
–  利用率の最大化	
–  Dropped	Callの最小化
17	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	通信事業者	
Ã  想定されるユーザー:	通信事業者	
Ã  セルタワーの管理と最適化	
–  利用率の監視と最適化	
–  フェムトセル管理	
Ã  Self	Op,mizing	Network	
–  顧客通信の帯域の最大化	
–  利用率の最大化	
–  Dropped	Callの最小化	
データソース
•  実際の電話トランザクション
•  CDR
•  セルタワーのキャパシティ状態
•  ソーシャルストリーム
18	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
What	we	can	do	with	IoT:	通信事業者	
Ã  想定されるユーザー:	通信事業者	
Ã  セルタワーの管理と最適化	
–  利用率の監視と最適化	
–  フェムトセル管理	
Ã  Self	Op,mizing	Network	
–  顧客通信の帯域の最大化	
–  利用率の最大化	
–  Dropped	Callの最小化	
データソース
•  実際の電話トランザクション
•  CDR
•  セルタワーのキャパシティ状態
•  ソーシャルストリームセルタワーからKafkaに対して1時間に160億以上の
レコードをNiFiでIngestしているという事例も
(			)	(				)	
(			)	(				)	
(			)	(				)
19	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoTアプリケーションはデータソースが様々	
Ã  データの種類	
Ã  データの流速	
Ã  データの宛先
20	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoTアプリケーションはデータソースが様々	
Ã  データの種類	
Ã  データの流速	
Ã  データの宛先	
Apache NiFiのようなデータフローを柔軟に管理できるソフトウェアが活きる
W I T H O U T 	 H O R T O N W O R K S 	 D A T A F L O W 	
W I T H 	 H O R T O N W O R K S 	 D A T A F L O W 	
Ingest	
Scripts	
Messaging	
Scripts	
HORTONWORKS	DATAFLOW
21	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
IoTアプリケーションはデータソースが様々	
Ã  データの種類	
Ã  データの流速	
Ã  データの宛先	
Apache NiFiのようなデータフローを柔軟に管理できるソフトウェアが活きる
W I T H O U T 	 H O R T O N W O R K S 	 D A T A F L O W 	
W I T H 	 H O R T O N W O R K S 	 D A T A F L O W 	
Ingest	
Scripts	
Messaging	
Scripts	
HORTONWORKS	DATAFLOW	
複数のチーム(例えばアプリケーションとインフラ)を
またがった調整が必要になったりもする
利⽤者だけで変更が完了する
ビジネス的な
イテレーションが早く回せる
22	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Demo
23	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
New York Cityの地下鉄の情報をもとにIoT的なアプリケーショ
ンを作ってみる
•  GTFS-realtimeという仕様に則り、
地下鉄の運⾏情報(どの駅にいるの
か、という情報や遅延状況など)を
1分に1回フィードしてくれる
•  リアルタイム情報以外にも、地下鉄
の駅の地理的位置情報yや、出⼊り
⼝の位置、エスカレーターの場所な
どの情報が提供されている
24	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
IoT:	MTA	Subway	IoT	sample	applicaAon	
PMML
25	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
リアルタイムアプリケーション	
リアルタイムフィード内の運行情報から	
リアルタイムフィード内のアラート情報から	
リアルタイムフィード内の運行情報から
26	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
リアルタイムアプリケーション	
PMML(WIP)	
リアルタイムフィード	
位置情報、アラート情報	
バッチ取り込み	
駅の位置情報など
27	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
リアルタイムフィードも必ずストレージに保存しておく	
	Source	of	truth	
リアルタイムフィード	
位置情報、アラート情報	
バッチ取り込み	
駅の位置情報など
28	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
リアルタイムフィードも必ずストレージに保存しておく	
	Source	of	truth	
リアルタイムフィード	
位置情報、アラート情報	
バッチ取り込み	
駅の位置情報など	
どこまでNiFiでカバーするかは
ケースバイケース
29	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
データが積み上がっていれば・・・
30	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
積み上げたデータでモデルのトレーニング
31	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
Source	of	truthをもとにモデルトレーニング	
トレーニングしたモデルはPMML等で	
リアルタイムアプリケーション側に	
読み込ませることでストリーム処理	
によるClassifica,onやClustering	
に使う	
リアルタイムフィード	
位置情報、アラート情報	
バッチ取り込み	
駅の位置情報など
32	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
リアルタイムアプリケーション	+	機械学習モデル	
Delay	predicted!	
YES	
YES	
路線ごとの遅延実績のチャート	
のさらに右側を回帰分析で	
書き足したり	
各電車のステータステーブル	
ロジスティック回帰やクラスタリングで	
各電車の遅延を予測したり
33	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
Source	or	truthももとにBI等での分析の実施	
PMML(WIP)	
リアルタイムフィード	
位置情報、アラート情報	
バッチ取り込み	
駅の位置情報など
34	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
BI的な分析	
•  SparkならZeppelinでもある程度でき
る	
•  Hiveserver2やSpark	Thrij	Serverを
使えばJDBC経由でSpark	SQLやHive
が使える	
•  最近だとDruidも流行ってきてるっ
ぽい。(Hadoop	SummitでもYahooと
かNellixのアーキテクチャの絵に
出てきた)	
•  他にもHAWQやPrestoなどMPPデー
タベースとか
35	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
さらに・・・ データソースの追加も(Data	Enrichment)
36	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
MTA	
Feed	
MTA	
Stops	
NiFi	
KaTa	
HDFS	
Spark	
Streaming	
Spark	
Streaming	
HBase	
+	
Phoenix	
Spring	
Hive/	
SparkSQL	
Spark	ML	
Web	UI	
BI	 Zeppelin	
Twiher	
•  Loca,ons	
•  Fleet	management	
•  Sta,s,cs	
•  Regression(WIP)	
データのEnrichment	
PMML(WIP)	
NiFiならデータソースの追加も簡単	
Corpor
ate	DB
37	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
まとめ
38	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Apache NiFiとIoT
Ã  IoTはデータソースの種類が多様になるケースがある
Ã  データソースを動的に⾜したいこともある
Ã  NiFiはこういうデータパイプラインに最適
Ã  システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
39	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Apache NiFiとIoT
Ã  IoTはデータソースの種類が多様になるケースがある
Ã  データソースを動的に⾜したいこともある
Ã  NiFiはこういうデータパイプラインに最適
Ã  システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
HDF	
Hadoop	
HDFS	
HBase	 Hive	 SOLR	
YARN	
Storm	
Service	
Manageme
nt	/	
Workflow	
SIEM	
Spark	
Raw	Network	Stream	
Network	Metadata	
Stream	
Data	Stores	
Syslog	
Raw	ApplicaAon	Logs	
Other	Streaming	
Telemetry
40	 ©	Hortonworks	Inc.	2011	–	2016.	All	Rights	Reserved	
Apache NiFiとIoT
Ã  IoTはデータソースの種類が多様になるケースがある
Ã  データソースを動的に⾜したいこともある
Ã  NiFiはこういうデータパイプラインに最適
Ã  システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
HDF	
Hadoop	
HDFS	
HBase	 Hive	 SOLR	
YARN	
Storm	
Service	
Manageme
nt	/	
Workflow	
SIEM	
Spark	
Raw	Network	Stream	
Network	Metadata	
Stream	
Data	Stores	
Syslog	
Raw	ApplicaAon	Logs	
Other	Streaming	
Telemetry	
※Fluentd的にアプリ
ケーション・サーバーか
らのログ回収エージェン
トとしても使えるけれど
も、これはまた別の話

IoTアプリケーションで利用するApache NiFi