Download - IoTアプリケーションで利用するApache NiFi
![Page 1: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/1.jpg)
IoTアプリケーションで利⽤するApache NiFi YutaImaiSolu,onsEngineer,Hortonworks
©HortonworksInc.2011–2015.AllRightsReserved
![Page 2: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/2.jpg)
2 ©HortonworksInc.2011–2016.AllRightsReserved
Agenda à HDPandHDFà WhatyoucandowithSparkà SparkReferenceArchitectureà Demo
![Page 3: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/3.jpg)
3 ©HortonworksInc.2011–2016.AllRightsReserved
HDPandHDF
![Page 4: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/4.jpg)
4 ©HortonworksInc.2011–2016.AllRightsReserved
Spark is certified as YARN Ready and is a part of HDP.
Hortonworks Data Platform 2.4
GOVERNANCE OPERATIONSBATCH,INTERACTIVE&REAL-TIMEDATAACCESS
YARN:DataOperaAngSystem(ClusterResourceManagement)
Map
Redu
ce
ApacheFalcon
ApacheSqoop
ApacheFlume
ApacheKaTa
Apache
Hive
Apache
Pig
Apache
HBa
se
Apache
Accum
ulo
Apache
Solr
Apache
Spark
Apache
Storm
1 • • • • • • • • • • •
• • • • • • • • • • • •
HDFS(HadoopDistributedFileSystem)
ApacheAmbari
ApacheZooKeeper
ApacheOozie
DeploymentChoiceLinux Windows On-premises Cloud
ApacheAtlas
Cloudbreak
SECURITY
ApacheRanger
ApacheKnox
ApacheAtlas
HDFSEncryp,on
ISV
Engine
s
![Page 5: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/5.jpg)
5 ©HortonworksInc.2011–2016.AllRightsReserved
HDFandHDP
HDF
Hadoop
HDFS
HBase Hive SOLR
YARN
Storm
ServiceManagement/
Workflow
SIEM
Spark
RawNetworkStream
NetworkMetadataStream
DataStores
Syslog
RawApplicaAonLogs
OtherStreamingTelemetry
![Page 6: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/6.jpg)
6 ©HortonworksInc.2011–2016.AllRightsReserved
IoTandNiFi
![Page 7: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/7.jpg)
7 ©HortonworksInc.2011–2016.AllRightsReserved
IoT?
![Page 8: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/8.jpg)
8 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:自動車
à 想定されるユーザー:運送会社やタクシー会社等の商用自動車ユーザー
à フリートマネジメント– 資産としての車の利用率最適化 – 燃費最適化
à 個別の車のマネジメント– 故障予知– 部品マネジメント
à 個別のドライバのマネジメント– 運転の安全性についてのスコアリング
![Page 9: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/9.jpg)
9 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:自動車
à 想定されるユーザー:運送会社やタクシー会社等の商用自動車ユーザー
à フリートマネジメント– 資産としての車の利用率最適化 – 燃費最適化
à 個別の車のマネジメント– 故障予知– 部品マネジメント
à 個別のドライバのマネジメント– 運転の安全性についてのスコアリング
データソース• ⾞から上がってくるセンサーデータ• 天候• 道路/交通情報• ⾞の管理情報• ドライバの管理情報
![Page 10: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/10.jpg)
10 ©HortonworksInc.2011–2016.AllRightsReserved
10
SueJimHDP Data Analyst HDP Developer
Jim and Sue Build Monitoring App Demo Here
違反や事故を予測車のU,liza,onを可視化
交通渋滞を予測
![Page 11: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/11.jpg)
11 ©HortonworksInc.2011–2016.AllRightsReserved
IoTデータでコネクテッドカーのデータをさらに豊富に⾃動⾞センサー
• 速度計• 気圧計 • タイヤプレッシャ• フロントガラスウォッシャー• GPS
WiFi • Beacon frames• Request probes
気象情報• 気温• 降⽔量と⾵の速度
道路• トラフィックカメラ• 制限速度
ソーシャル• Twitter
![Page 12: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/12.jpg)
12 ©HortonworksInc.2011–2016.AllRightsReserved
Usage Based Insurance
• 彼らはSnapshotと呼ばれるデバイス経由でリアルタイムに⾃動⾞からアップロードされるデータと道路の混雑状況のデータ、そして過去の様々なデータを組み合わせることによりドライバーごとに価格最適化を⾏うことにより、総額にして約5億6千万ドルの保険料割引を実現したと発表しました。
• 右の写真のデモは、⾚い円筒が、過去のデータから得られた事故多発地帯や犯罪多発地帯を表しており、被保険者の⾞がこのエリアに侵⼊したことを⾃動的に検知する仕組みを可視化したものです。
![Page 13: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/13.jpg)
13 ©HortonworksInc.2011–2016.AllRightsReserved
![Page 14: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/14.jpg)
14 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:農業
à 想定されるユーザー:農業事業者
à 状態の把握– 温度、湿度、日照時間等を記録しておいたものと、出来上がった農作物の出来を付きあわせてベストプラクティスやバッドプラクティスの数値化。
– 問題が起こるであろう状態の把握と通知。そして記録。
à 環境最適化– 自動散水– ビニールハウス内の最適状態維持
• 温度や湿度、日照度など– ドローンのコントロール
![Page 15: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/15.jpg)
15 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:農業
à 想定されるユーザー:農業事業者
à 状態の把握– 温度、湿度、日照時間等を記録しておいたものと、出来上がった農作物の出来を付きあわせてベストプラクティスやバッドプラクティスの数値化。
– 問題が起こるであろう状態の把握と通知。そして記録。
à 環境最適化– 自動散水– ビニールハウス内の最適状態維持
• 温度や湿度、日照度など– ドローンのコントロール
データソース• センサーデータ• カメラによる画像/動画• 天候• 天候の予報• 市場データ
![Page 16: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/16.jpg)
16 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:通信事業者
à 想定されるユーザー:通信事業者
à セルタワーの管理と最適化– 利用率の監視と最適化– フェムトセル管理
à SelfOp,mizingNetwork– 顧客通信の帯域の最大化– 利用率の最大化– DroppedCallの最小化
![Page 17: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/17.jpg)
17 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:通信事業者
à 想定されるユーザー:通信事業者
à セルタワーの管理と最適化– 利用率の監視と最適化– フェムトセル管理
à SelfOp,mizingNetwork– 顧客通信の帯域の最大化– 利用率の最大化– DroppedCallの最小化 データソース
• 実際の電話トランザクション• CDR• セルタワーのキャパシティ状態• ソーシャルストリーム
![Page 18: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/18.jpg)
18 ©HortonworksInc.2011–2016.AllRightsReserved
WhatwecandowithIoT:通信事業者
à 想定されるユーザー:通信事業者
à セルタワーの管理と最適化– 利用率の監視と最適化– フェムトセル管理
à SelfOp,mizingNetwork– 顧客通信の帯域の最大化– 利用率の最大化– DroppedCallの最小化 データソース
• 実際の電話トランザクション• CDR• セルタワーのキャパシティ状態• ソーシャルストリームセルタワーからKafkaに対して1時間に160億以上の
レコードをNiFiでIngestしているという事例も
()()()()
()()
![Page 19: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/19.jpg)
19 ©HortonworksInc.2011–2016.AllRightsReserved
IoTアプリケーションはデータソースが様々
à データの種類
à データの流速
à データの宛先
![Page 20: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/20.jpg)
20 ©HortonworksInc.2011–2016.AllRightsReserved
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
HORTONWORKSDATAFLOW
![Page 21: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/21.jpg)
21 ©HortonworksInc.2011–2016.AllRightsReserved
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
HORTONWORKSDATAFLOW
複数のチーム(例えばアプリケーションとインフラ)をまたがった調整が必要になったりもする
利⽤者だけで変更が完了する
ビジネス的なイテレーションが早く回せる
![Page 22: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/22.jpg)
22 ©HortonworksInc.2011–2016.AllRightsReserved
Demo
![Page 23: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/23.jpg)
23 ©HortonworksInc.2011–2016.AllRightsReserved
New York Cityの地下鉄の情報をもとにIoT的なアプリケーションを作ってみる
• GTFS-realtimeという仕様に則り、地下鉄の運⾏情報(どの駅にいるのか、という情報や遅延状況など)を1分に1回フィードしてくれる
• リアルタイム情報以外にも、地下鉄の駅の地理的位置情報yや、出⼊り⼝の位置、エスカレーターの場所などの情報が提供されている
![Page 24: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/24.jpg)
24 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
IoT:MTASubwayIoTsampleapplicaAon
PMML
![Page 25: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/25.jpg)
25 ©HortonworksInc.2011–2016.AllRightsReserved
リアルタイムアプリケーション
リアルタイムフィード内の運行情報から
リアルタイムフィード内のアラート情報から
リアルタイムフィード内の運行情報から
![Page 26: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/26.jpg)
26 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
リアルタイムアプリケーション
PMML(WIP)
リアルタイムフィード位置情報、アラート情報
バッチ取り込み駅の位置情報など
![Page 27: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/27.jpg)
27 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
リアルタイムフィードも必ずストレージに保存しておくSourceoftruth
リアルタイムフィード位置情報、アラート情報
バッチ取り込み駅の位置情報など
![Page 28: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/28.jpg)
28 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
リアルタイムフィードも必ずストレージに保存しておくSourceoftruth
リアルタイムフィード位置情報、アラート情報
バッチ取り込み駅の位置情報など
どこまでNiFiでカバーするかはケースバイケース
![Page 29: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/29.jpg)
29 ©HortonworksInc.2011–2016.AllRightsReserved
データが積み上がっていれば・・・
![Page 30: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/30.jpg)
30 ©HortonworksInc.2011–2016.AllRightsReserved
積み上げたデータでモデルのトレーニング
![Page 31: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/31.jpg)
31 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
Sourceoftruthをもとにモデルトレーニング
トレーニングしたモデルはPMML等でリアルタイムアプリケーション側に読み込ませることでストリーム処理によるClassifica,onやClusteringに使う
リアルタイムフィード位置情報、アラート情報
バッチ取り込み駅の位置情報など
![Page 32: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/32.jpg)
32 ©HortonworksInc.2011–2016.AllRightsReserved
リアルタイムアプリケーション+機械学習モデル
Delaypredicted!
YES
YES
路線ごとの遅延実績のチャート
のさらに右側を回帰分析で書き足したり
各電車のステータステーブルロジスティック回帰やクラスタリングで各電車の遅延を予測したり
![Page 33: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/33.jpg)
33 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
SourceortruthももとにBI等での分析の実施
PMML(WIP)
リアルタイムフィード位置情報、アラート情報
バッチ取り込み駅の位置情報など
![Page 34: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/34.jpg)
34 ©HortonworksInc.2011–2016.AllRightsReserved
BI的な分析
• SparkならZeppelinでもある程度できる
• Hiveserver2やSparkThrijServerを使えばJDBC経由でSparkSQLやHiveが使える
• 最近だとDruidも流行ってきてるっぽい。(HadoopSummitでもYahooとかNellixのアーキテクチャの絵に出てきた)
• 他にもHAWQやPrestoなどMPPデータベースとか
![Page 35: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/35.jpg)
35 ©HortonworksInc.2011–2016.AllRightsReserved
さらに・・・ データソースの追加も(DataEnrichment)
![Page 36: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/36.jpg)
36 ©HortonworksInc.2011–2016.AllRightsReserved
MTAFeed
MTAStops
NiFi
KaTa
HDFS
SparkStreaming
SparkStreaming
HBase+
Phoenix
Spring
Hive/SparkSQL SparkML
WebUI
BI Zeppelin
Twiher
• Loca,ons• Fleetmanagement
• Sta,s,cs• Regression(WIP)
データのEnrichment
PMML(WIP)
NiFiならデータソースの追加も簡単
CorporateDB
![Page 37: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/37.jpg)
37 ©HortonworksInc.2011–2016.AllRightsReserved
まとめ
![Page 38: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/38.jpg)
38 ©HortonworksInc.2011–2016.AllRightsReserved
Apache NiFiとIoT
à IoTはデータソースの種類が多様になるケースがあるà データソースを動的に⾜したいこともあるà NiFiはこういうデータパイプラインに最適à システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
![Page 39: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/39.jpg)
39 ©HortonworksInc.2011–2016.AllRightsReserved
Apache NiFiとIoT
à IoTはデータソースの種類が多様になるケースがあるà データソースを動的に⾜したいこともあるà NiFiはこういうデータパイプラインに最適à システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
HDF
Hadoop
HDFS
HBase Hive SOLR
YARN
Storm
ServiceManageme
nt/Workflow
SIEM
Spark
RawNetworkStream
NetworkMetadataStream
DataStores
Syslog
RawApplicaAonLogs
OtherStreamingTelemetry
![Page 40: IoTアプリケーションで利用するApache NiFi](https://reader033.vdocuments.site/reader033/viewer/2022052117/5899a24b1a28ab30688b54a7/html5/thumbnails/40.jpg)
40 ©HortonworksInc.2011–2016.AllRightsReserved
Apache NiFiとIoT
à IoTはデータソースの種類が多様になるケースがあるà データソースを動的に⾜したいこともあるà NiFiはこういうデータパイプラインに最適à システムアーキテクチャ的にはデータソース層とデータ処理層の間に置くのが○
HDF
Hadoop
HDFS
HBase Hive SOLR
YARN
Storm
ServiceManageme
nt/Workflow
SIEM
Spark
RawNetworkStream
NetworkMetadataStream
DataStores
Syslog
RawApplicaAonLogs
OtherStreamingTelemetry
※Fluentd的にアプリケーション・サーバーからのログ回収エージェントとしても使えるけれども、これはまた別の話