matlab による大規模フリートデータ解析 part 1: デスクトッ …...apachetm hadoop /...

24
1 © 2019 The MathWorks, Inc. MATLAB による大規模フリートデータ解析 Part 1: デスクトップ編 MathWorks Japan アプリケーションエンジニアリング部 齊藤 甲次朗

Upload: others

Post on 02-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

1© 2019 The MathWorks, Inc.

MATLAB による大規模フリートデータ解析

Part 1: デスクトップ編

MathWorks Japan

アプリケーションエンジニアリング部

齊藤 甲次朗

Page 2: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

2

アジェンダ

▪ はじめに

– ビッグデータ解析の課題

▪ フリートデータ解析実践

– デスクトップでの解析

Page 3: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

3

25 GB/ 1 hour

Page 4: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

4

フリートデータ解析を含むビッグデータ解析の課題

1. ビッグデータのための新しいツールを学ぶコストが掛かる

2. 大規模な計算に移行するために、プロトタイプで書いたコードの書き直し

が必要になる

Page 5: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

5

フリートデータ解析実践

Page 6: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

6

▪ MathWorksの社員が

車にOBDドングルを付け走行データを記録

車両: 21台

トリップ数:1300以上

チャネル数:39

データ収集期間:約1.5年

フリートデータ解析実践使用するデータ

Page 7: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

7

フリートデータ解析実践使用するデータ

データベース

• データの整形• ファイル生成

4G LTE

Bluetooth

OBD IIスマートフォン

MATLAB Production ServerTM

Request

Broker

and

Program

Manager

全てのデータをダウンロードしてMATファイルに変換

Page 8: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

8

フリートデータ解析のワークフロー

システムへの統合

デスクトップアプリケーション

エンタープライズシステム

組込デバイスとハードウェア

ファイル

データベース

センサー

データへのアクセス 予測モデルの開発

モデルの作成(機械学習)

モデルの検証

パラメータ最適化

データの前処理

異常・欠損データの扱い

データ削減/

変換

特徴抽出

Page 9: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

9

ビッグデータの扱いフリートデータ解析 サマリー

デスクトップPCでの解析

ステップ1 ステップ2

Hadoopクラスターでの解析

Hadoop® / SparkTM

Page 10: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

10

フリートデータ解析実践デスクトップでの解析

フリートデータ解析アルゴリズムを検討するために、

まずはデスクトップで試行錯誤

ステップ1

今後のクラスターへのスケールアウトを意識してコードを書く

Page 11: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

11

フリートデータ解析実践データへのアクセス

生データを見てみる

1ファイル

経度

MATLAB上でファイルをダブルクリック

Page 12: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

12

フリートデータ解析実践データへのアクセス

約1300のファイルを読み込むには?

Page 13: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

13

フリートデータ解析実践データへのアクセス

datastore: データ、ファイルの集合体を読み取るオブジェクト特に機械学習やディープラーニングで使用

対象データ データストアの種類

表形式のテキストファイル (CSVなど) TabularTextDatastore

Excel®形式のスプレッドシート(XLSXなど) SpreadsheetDatastore

画像 ImageDatastore

リレーショナルデータベースのデータ DatabaseDatastore

カスタム形式のファイル FileDatastore

MDF形式のファイル mdfDatastore

など

https://jp.mathworks.com/help/matlab/import_export/what-is-a-datastore.html

Page 14: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

14

フリートデータ解析実践データへのアクセス

ワイルドカードで指定可能

datastoreの作成

カスタムの読込関数

Page 15: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

15

クラスターのメモリ

tall配列1台のメモリ

フリートデータ解析実践データへのアクセス tall

▪ メモリに収まる小さな塊にデータを自動的に分割

▪ データアクセスを最適化して実行

▪ 並列演算もサポート

1台のメモリ

処理

1台のメモリ

処理

1台のメモリ

処理

1台のメモリ

処理

datastore & tall

Page 16: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

16

フリートデータ解析実践データへのアクセス tall

関連ツール tallでできること

MATLAB tall処理

+ Parallel Computing ToolboxTM ローカルマシンでの並列tall処理

+ MATLAB Parallel ServerTM クラスターでの並列tall処理

+ ApacheTM Hadoop / Apache Spark(サードパーティ)

Hadoop/Sparkクラスター上での並列tall処理

ステップ1

ステップ2

※MATLAB Distributed Computing Server TMは、R2019aからMATLAB Parallel Server TMに名称が変わりました。

Page 17: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

17

フリートデータ解析実践ビッグデータの可視化

データ全てを使って可視化histogram

tall配列の可視化https://www.mathworks.com/help/matlab/import_export/tall-data-visualization.html

Page 18: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

18

フリートデータ解析実践ビッグデータの可視化

データの緯度経度の散らばりを見たいscatter

メンバーを抽出

Page 19: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

19

フリートデータ解析実践ビッグデータの可視化

地図上にプロットするにはメモリに取り込んでからgeoscatter

tall配列をメモリに取り込み

Page 20: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

20

フリートデータ解析実践ビッグデータの可視化

全トリップのトリップ時間を調べる

Page 21: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

21

フリートデータ解析実践ビッグデータの可視化

半年ほど間隔が空いている

不自然なトリップ時間を詳しく見てみる

Page 22: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

22

フリートデータ解析実践ビッグデータの前処理

▪ 前処理

Page 23: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

23

フリートデータ解析実践クラスターへのスケールアウト

デスクトップの限界

▪ 処理時間

▪ データコピーの手間

▪ ディスク容量

ステップ2

Part 2に続く

Hadoop/Spark

Page 24: MATLAB による大規模フリートデータ解析 Part 1: デスクトッ …...ApacheTM Hadoop / Apache Spark (サードパーティ) Hadoop/Sparkクラスター上での 並列tall処理

24© 2019 The MathWorks, Inc.

© 2019 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for

a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.