GoAzure 2015:IoTなどの大量データをStream...
-
Upload
hidemasa-togashi -
Category
Data & Analytics
-
view
3.354 -
download
3
Transcript of GoAzure 2015:IoTなどの大量データをStream...
![Page 1: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/1.jpg)
IoTなどの大量データを Stream Analyticsで
リアルタイムデータ分析してみよう
Hidemasa Togashi
![Page 2: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/2.jpg)
自 己 紹 介
![Page 3: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/3.jpg)
Introduction
富樫 英雅 (@hid_tgc)
Infrastructure Engineer at gloops 2012~
2014~ Infrastructure Managerat Capy Inc.
滞在国
イスラエル日本
アメリカ
![Page 4: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/4.jpg)
C a p y I n c .
![Page 5: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/5.jpg)
99%
![Page 6: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/6.jpg)
http://www.geek.com/apps/googles-street-view-can-beat-captchas-99-of-the-time-1591547/
Google`s Street View can beat CAPTCHAs 99% of the the time
![Page 7: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/7.jpg)
![Page 8: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/8.jpg)
![Page 9: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/9.jpg)
![Page 10: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/10.jpg)
こ の 講 演 の き っ か け は . . .
![Page 11: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/11.jpg)
![Page 12: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/12.jpg)
本 題
![Page 13: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/13.jpg)
C o n t e n t s
IoTとは?トレンドの紹介 1
Azure Stream Analyticsを使った事例紹介 3
Azure Stream Analyticsの紹介 2
Capyがどのように使っているかの実例紹介 4
実際に使った際の考察 5
![Page 14: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/14.jpg)
I o Tとは?トレンドの紹介
![Page 15: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/15.jpg)
OI oT
![Page 16: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/16.jpg)
Internet Of ThingsI TO
![Page 17: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/17.jpg)
トレンド
![Page 18: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/18.jpg)
ref: http://iot-analytics.com/wp/wp-content/uploads/2014/10/IoT-Economic-value-forecast-1.png
市場
![Page 19: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/19.jpg)
15 Trillion USD on 2034
≒16.8 GDP of USA on 2013
![Page 20: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/20.jpg)
26,000,000,000 objects linked together in the IoT by 2020.
http://www.siemens.com/innovation/en/home/pictures-of-the-future/digitalization-and-software/internet-of-things-facts-and-forecasts.html
![Page 21: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/21.jpg)
.Net micro framework Windows Developer Program for IoT
MSもIoTにかなり力を注いできている
![Page 22: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/22.jpg)
デバイスが増える デ〡タも増えるこれをどうやって集計するか…
![Page 23: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/23.jpg)
B a t c h Interact ive/MPP
R e a l t i m e
![Page 24: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/24.jpg)
B a t c h Interact ive/MPP
R e a l t i m e
![Page 25: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/25.jpg)
Batch
Hadoop
![Page 26: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/26.jpg)
B a t c h
23%
24% 28%
24%
バッチ処理は膨大なデータを並列的に処理することで統計処理などデータ処理を行うことがメイン。
![Page 27: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/27.jpg)
B a t c h Interact ive/MPP
R e a l t i m e
![Page 28: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/28.jpg)
Interactive / MPPMPP: Massively Parallel Processing
Redshift Spark Big Query
![Page 29: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/29.jpg)
I n t e r a c t i v e / M P P
低レイテンシーに処理することでイテレーション処理などを行うことがメイン。
25%
25% 25%
25%
![Page 30: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/30.jpg)
I n t e r a c t i v e / M P P
22%
22%33%
22%
低レイテンシーに処理することでイテレーション処理などを行うことがメイン。
![Page 31: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/31.jpg)
I n t e r a c t i v e / M P P
25%
25% 25%
25%
低レイテンシーに処理することでイテレーション処理などを行うことがメイン。
![Page 32: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/32.jpg)
I n t e r a c t i v e / M P P
21%
29% 29%
21%
低レイテンシーに処理することでイテレーション処理などを行うことがメイン。
![Page 33: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/33.jpg)
B a t c h Interact ive/MPP
R e a l t i m e
![Page 34: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/34.jpg)
R e a l t i m e
![Page 35: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/35.jpg)
これはイベントドリブンのようにイベント毎に処理を行うことを目的としています。
R e a l t i m e
100%
14%
29%
29%
29%20%
30% 30%
20%21%
29% 29%
21%19%
24%
33%
24%25%
21% 32%
21%27%
20% 30%
23%28%
21% 26%
26%30%
20% 24%
26%28%
21% 26%
25%26%
20%28%
26%25%
22% 28%
25%25%
24% 28%
24%23%
25% 29%
23%
![Page 36: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/36.jpg)
用途 例
Batch 膨大なデータ処理を行うアプリケーション ETL, リコメンデーション
Interactive低レイテンシーが必要なアプリケーション 繰り返しの計算が必要なアプリケーション 機械学習
Realtime膨大な入力に対して今のデータが重要なアプリケーション
Batch処理の入力データ整形
異常検知 イベント処理 トレンド検知
膨大な入力
![Page 37: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/37.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 38: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/38.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 39: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/39.jpg)
処 理 受信
![Page 40: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/40.jpg)
処 理 受信
![Page 41: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/41.jpg)
Kinesis Application
受信処 理 受信
![Page 42: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/42.jpg)
受信処 理 受信
![Page 43: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/43.jpg)
Service Bus Event Hubs
![Page 44: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/44.jpg)
L a n g u a g e s
![Page 45: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/45.jpg)
Product Protocol API / SDK
Apache Kafka 独自Protocol Producer API
Amazon Kinesis HTTPS AWS SDK
Azure Event Hubs HTTPS AMQPS
REST API Azure SDK
プロトコル
![Page 46: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/46.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 47: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/47.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 48: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/48.jpg)
デバイスからイベント送信
![Page 49: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/49.jpg)
デバイスから
イベント送信セキュアに
![Page 50: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/50.jpg)
HTTPS MQTT CoAP AMQP
メジャーなプロトコル
![Page 51: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/51.jpg)
ロ グ 送 信 と い え ば
![Page 52: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/52.jpg)
![Page 53: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/53.jpg)
https://github.com/htgc/fluent-plugin-azureeventhubs
![Page 55: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/55.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 56: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/56.jpg)
膨大な入力
どうやって送信する?
どうやって受信する?
どうやって処理する?
![Page 57: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/57.jpg)
Vs.独自コード SQL Like Query
![Page 58: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/58.jpg)
独自コード SQL Like Query
![Page 59: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/59.jpg)
独自コード SQL Like Query
処理の柔軟性
![Page 60: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/60.jpg)
独自コード SQL Like Query
開発の容易性
![Page 61: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/61.jpg)
独自コード SQL Like QueryC
loud
Ser
vice
Sel
f-Man
aged
![Page 62: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/62.jpg)
St ream Ana ly t ics
SQL Like なクエリでストリーム処理ができるクラウドサービス
![Page 63: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/63.jpg)
C o n t e n t s
IoTとは?トレンドの紹介 1
Azure Stream Analyticsを使った事例紹介 3
Azure Stream Analyticsの紹介 2
Capyがどのように使っているかの実例紹介 4
実際に使った際の考察 5
![Page 64: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/64.jpg)
A z u r e S t r e a m A n a l y t i c sの紹介
![Page 65: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/65.jpg)
Blob Storage更新頻度の低いリファレンスデータなど
Event Hubsデバイスなどから都度送信されてくるイベント
データなど
I n p u t
![Page 66: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/66.jpg)
Blob StorageHDInsightやAzure MLなどの入力用
Event Hubs別イベント処理の入力用
O u t p u t
SQL Databaseアプリケーションの参照用
![Page 67: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/67.jpg)
Type Description
bigint 64bit 符号付き整数
float 64bit 符号付き浮動小数点数
nvarchar(max) string
datetime datetime型
D a t a Ty p e s
![Page 68: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/68.jpg)
SELECT FROM WHERE GROUP BY HAVING CASE
JOIN UNION WITH
Q u e r y
![Page 69: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/69.jpg)
Sliding Window
Hopping Window
Tumbling Window
W i n d o w i n g
![Page 70: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/70.jpg)
Sliding Window
Hopping Window
Tumbling Window
W i n d o w i n g
![Page 71: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/71.jpg)
指定した時間(windowsize)で間隔を区切り、 区切られた時間内のイベントを対象として処理する。
TUMBLINGWINDOW ( timeunit , windowsize ) TUMBLINGWINDOW ( Duration( timeunit , windowsize ) )
Tumbling Window
1
2
![Page 72: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/72.jpg)
SELECT System.TimeStamp AS OutTime, TollId, COUNT(*) FROM Input TIMESTAMP BY EntryTime GROUP BY TollId, TumblingWindow(minute,5)
Tumbling Window
![Page 73: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/73.jpg)
Sliding Window
Hopping Window
Tumbling Window
W i n d o w i n g
![Page 74: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/74.jpg)
指定した時間(hopsize)毎に、区切られた時間 (windowsize)内のイベントを対象として処理する。
HOPPINGWINDOW ( timeunit , windowsize , hopsize ) HOPPINGWINDOW ( Duration( timeunit , windowsize ) , Hop (timeunit , windowsize )
Hopping Window
1
2
![Page 75: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/75.jpg)
SELECT System.TimeStamp AS OutTime, TollId, COUNT(*) FROM Input TIMESTAMP BY EntryTime GROUP BY TollId, HoppingWindow(minute,10 , 5)
Hopping Window
![Page 76: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/76.jpg)
Sliding Window
Hopping Window
Tumbling Window
W i n d o w i n g
![Page 77: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/77.jpg)
イベント事に指定した時間(windowsize)内の イベントを対象として処理する。
SLIDINGWINDOW ( timeunit , windowsize ) SLIDINGWINDOW ( Duration( timeunit , windowsize ) )
Sliding Window
1
2
![Page 78: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/78.jpg)
SELECT DateAdd(minute,-3,System.TimeStamp) AS WinStartTime, System.TimeStamp AS WinEndTime, TollId, COUNT(*) FROM Input TIMESTAMP BY EntryTime GROUP BY TollId, SlidingWindow(minute, 3) HAVING COUNT(*) > 3
Sliding Window
![Page 79: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/79.jpg)
Time unit Abbreviations
day dd, d
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
![Page 80: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/80.jpg)
C o n t e n t s
IoTとは?トレンドの紹介 1
Azure Stream Analyticsを使った事例紹介 3
Azure Stream Analyticsの紹介 2
Capyがどのように使っているかの実例紹介 4
実際に使った際の考察 5
![Page 81: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/81.jpg)
A z u r e S t r e a m A n a l y t i c sを使った事例紹介
![Page 82: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/82.jpg)
Use Case
![Page 83: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/83.jpg)
Home Security
![Page 84: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/84.jpg)
家 /火災報知器
![Page 85: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/85.jpg)
![Page 86: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/86.jpg)
![Page 87: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/87.jpg)
Device Control
![Page 88: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/88.jpg)
![Page 89: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/89.jpg)
![Page 90: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/90.jpg)
![Page 91: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/91.jpg)
C o n t e n t s
IoTとは?トレンドの紹介 1
Azure Stream Analyticsを使った事例紹介 3
Azure Stream Analyticsの紹介 2
Capyがどのように使っているかの実例紹介 4
実際に使った際の考察 5
![Page 92: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/92.jpg)
C a p yがどのように使っているかの実例紹介
![Page 93: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/93.jpg)
![Page 94: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/94.jpg)
SELECT remote_ip, COUNT(*) FROM access_log WHERE uri = ‘<URI>’ GROUP BY remote_ip, SLIDING_WINDOW(minute, 10) HAVING COUNT(*) > 10;
Subscribe EventProcessorHost
SETEXExpire: PenaltyTime
![Page 95: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/95.jpg)
C o n t e n t s
IoTとは?トレンドの紹介 1
Azure Stream Analyticsを使った事例紹介 3
Azure Stream Analyticsの紹介 2
Capyがどのように使っているかの実例紹介 4
実際に使った際の考察 5
![Page 96: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/96.jpg)
実際に使った際の考察
![Page 97: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/97.jpg)
はまった点
![Page 98: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/98.jpg)
Event HubsからのイベントをSubscribeできない
当初、他のシステムと同様PythonでSubscribe→RedisへSETを行おうと考えていたが、Qpid-Protonを使用してもEvent Hubsへ接続が行えず断念。(原因は恐らくConsumerGroupとPartitionの指定の不備)
しかしAMQPでのDirect Connectの場合はパーティション毎にコネクションを張る必要があり面倒なので、EventProcessorHost classを用いて接続した方が全然楽。
はまった点
Stream AnalyticsからのJSONデータがデコードできない
出力をJSONに指定するとリスト型で出力されるが、何故かリストが閉じていないためJSONのデコードに失敗する。
今のところは原始的ですが
var listObject = DynamicJSON.Parse(string.Format(“{0}]”, data));
のように強制的にリストを閉じてデコードしてます。
![Page 99: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/99.jpg)
Event HubsからのイベントをSubscribeできない
当初、他のシステムと同様PythonでSubscribe→RedisへSETを行おうと考えていたが、Qpid-Protonを使用してもEvent Hubsへ接続が行えず断念。(原因は恐らくConsumerGroupとPartitionの指定の不備)
しかしAMQPでのDirect Connectの場合はパーティション毎にコネクションを張る必要があり面倒なので、EventProcessorHost classを用いて接続した方が全然楽。
はまった点
![Page 100: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/100.jpg)
はまった点Stream AnalyticsからのJSONデータがデコードできない
出力をJSONに指定するとリスト型で出力されるが、何故かリストが閉じていないためJSONのデコードに失敗する。
今のところは原始的ですが
var listObject = DynamicJSON.Parse(string.Format(“{0}]”, data));
のように強制的にリストを閉じてデコードしてます。
![Page 101: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/101.jpg)
課題
![Page 102: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/102.jpg)
Stream Analyticsのもろもろの設定を変更する際には一度停止が必要。
e.g.
• Inputs
• Output
• Query
• Scale
![Page 103: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/103.jpg)
Stream Analyticsのスケール要否の判断基準がメトリクスから読み取りにくい。
※見ることの出来るデータは以下のとおり
• Input Events
• Output Events
• Data Conversion Errors
• Out of order Events
• Errors
![Page 104: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/104.jpg)
Event Hubsからのイベント受信の使い勝手がEventProcessorHost以外では悪い。
そのためLinux系でシステムを組みながらEvent HubsでLambda Architectureなどを組みづらい。
![Page 105: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/105.jpg)
現状はまだプレビュー版のため正式リリース時にはこの課題も解消しているかもしれません。
![Page 106: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/106.jpg)
まとめ
![Page 107: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/107.jpg)
• IoTのトレンドは今後確実に伸びていく
• 大量のデバイスから生成されるデータ集計にはバッチ処理に加えてリアルタイム性も必要となってくる
• Event Hubsへのデータの送信からStream Analyticsでのクエリ実行までは物凄く簡単
• Event Hubs + Stream AnalyticsはIoTのみでなくM2Mのリアルタムログ分析基盤としてはかなり強力なツールになり得る
![Page 108: GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう](https://reader030.fdocument.pub/reader030/viewer/2022032617/55a9661b1a28ab45108b485f/html5/thumbnails/108.jpg)
Thank you