Upgrade to Pro — share decks privately, control downloads, hide ads and more …

位置情報ビッグデータをインタラクティブに分析できるようになるまで

 位置情報ビッグデータをインタラクティブに分析できるようになるまで

Minami Aoyama Night#4での発表資料です。

NAVITIME JAPAN
PRO

October 04, 2017
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Research

Transcript

  1. 位置情報ビッグデータをインタラクティブに分析できるようになるまで
    株式会社ナビタイムジャパン
    交通コンサルティング事業部
    塚本 周平
    1

    View Slide

  2. 自己紹介
    2

    View Slide

  3. 自己紹介
    塚本 周平
    株式会社ナビタイムジャパン
    ● 交通コンサルティング事業部
    ● 2016年入社
    ● プログラマー
    ○ データ分析, データ分析アプリケーション開発 etc...
    3

    View Slide

  4. 交通コンサルティング
    事業紹介
    4

    View Slide

  5. 交通コンサルティング事業紹介
    5

    View Slide

  6. 交通コンサルティング事業紹介
    業務事例
    ● 主なクライアント
    ○ 官公庁
    ○ 自治体
    ○ 道路事業者
    ○ 公共交通事業者
    ○ 大学
    ○ コンサルタント
    ○ etc...
    6

    View Slide

  7. 分析事例
    ● 経路検索条件データ
    ○ 検索ログをアソシエーション分析
    ○ アウトレット間の競合関係を可視化
    交通コンサルティング事業紹介
    [ 発表先 ] 第54回土木計画学研究発表会
    論文:
    http://consulting.navitime.biz/pdf/monograph_20
    161105_1.pdf
    発表資料:
    http://consulting.navitime.biz/pdf/presentation_2
    0161105_1.pdf
    7

    View Slide

  8. 分析の進め方
    8

    View Slide

  9. ● 仮説検証サイクルを繰り返す事で分析を行う
    ○ サイクルを繰り返すほど分析が深度化
    分析の進め方
    データ作成
    仮説立案
    可視化
    検証
    交通コンサルタントに
    よる仮説設定
    ビッグデータから
    分析対象を抽出
    データのグラフ化 /
    地図上へ描画
    仮説の妥当性を検証
    できる限り高速にサイクルを回し
    たい
    9

    View Slide

  10. ● 工程ごとに要求されるスキルセットが異なる
    仮説立案 データ作成
    可視化
    検証
    Data Engineers
    Data
    Visualization
    Engeneers
    Data Scientists
    分析の進め方
    10

    View Slide

  11. ● 受注業務の場合、クライアントと分析要件の調整が必要
    分析の進め方
    Clients
    11

    View Slide

  12. ● 分析業務をクライアントが行う場合も、営業工数が発生
    仮説立案 データ作成
    可視化
    検証
    Data Engineers
    Data
    Visualization
    Engeneers
    Clients
    分析の進め方
    Sales
    12

    View Slide

  13. 分析の進め方
    ボトルネック
    ● エンジニアリングコスト
    ● 営業コスト
    ● チーム内のコミュニケーションコスト
    ● クライアントとの調整コスト
    13

    View Slide

  14. クライアントが、データホルダーのように自由に分析できるシステムを作りたい
    仮説立案 データ作成
    可視化
    検証
    Data
    Analyzing
    System
    Clients /
    Data Scientists
    分析の進め方
    14

    View Slide

  15. システム化検討
    15

    View Slide

  16. システム化検討
    「仮説立案」・「検証」以外のコストを無くす
    ● 「データ作成」・「可視化」を、ワンストップアプリケーション化
    ○ プログラミングレスで分析可能
    ● アプリケーションをクライアントが直接利用可能
    ○ データホルダーのように自由に分析可能
    16

    View Slide

  17. システム化検討
    機能要件
    ● インタラクティブ性
    ○ クライアントがGUIから任意に選択した条件でデータ分析を実施
    ● 大容量データ描画
    ○ 日本全国の道路ネットワークデータを地図上に描画
    ● 高速集計
    ○ ユーザーが待てる時間内に描画データを集計
    17

    View Slide

  18. システム化検討
    技術課題
    ● 地図描画
    ○ インタラクティブ性
    ○ 大容量データ描画
    ● 高速集計
    ○ 処理リードタイム
    ○ 安定性
    ○ 運用費
    18

    View Slide

  19. System Architecture
    システム化検討
    Client
    Map Server Data Server
    19

    View Slide

  20. 技術検討
    - 地図描画編 -
    20

    View Slide

  21. 技術検討 - 地図描画編 -
    技術課題
    ● インタラクティブ性
    ○ クライアントがGUIから任意に選択した条件でデータ分析を実施
    ● 大容量データ描画
    ○ 日本全国の道路ネットワークデータを地図上に描画
    21

    View Slide

  22. 技術検討 - 地図描画編 -
    QGIS
    ● 幅広い位置情報データ形式に対応
    ○ Shape File, csv, Spatial database etc...
    ● WMS形式での地図配信が可能
    ○ QGIS Web
    ● 社内利用実績有り
    ○ 大容量データもある程度表示可能
    × インタラクティブな
     地図描画形式には未対応
    22

    View Slide

  23. 技術検討 - 地図描画編 -
    Raster Tiles
    ● タイル形式
    ● 画像データ
    ○ png, jpeg etc...
    ● ブラウザに表示される
    ● データのみ配信
    × 地図上の道路データに対し
     イベント登録ができない
    23

    View Slide

  24. 技術検討 - 地図描画編 -
    GeoJSON
    ● 空間データをJSON形式で記述
    ● イベント登録可能
    ○ 地物(道路や建物データ)をsvgやcanvasの要素として
    ○ を扱う事ができる
    × 大容量データを描画できない
    {
    "type": "Feature",
    "geometry": {
    "type": "Point",
    "coordinates": [125.6, 10.1]
    },
    "properties": {
    "name": "Dinagat Islands"
    }
    }
    24

    View Slide

  25. 技術検討 - 地図描画編 -
    こんなデータ形式があれば・・・
    ● Raster Tilesのように、画面上に表示するデータのみ配信
    ● GeoJSON(+JavaScript)のようにHTMLの要素として地図データを扱える
    25

    View Slide

  26. 技術検討 - 地図描画編 -
    あった!
    26

    View Slide

  27. 技術検討 - 地図描画編 -
    Vector Tiles
    GvunAngCCgtsaW5rL
    W1hc3RlciiAIBoIY2FyX
    29ubHkiAiAAGglkZXN0
    X25vZGUiAiBCGglkdW
    FsX2xpbmsiAiBtGg1sY
    W5lX251bV9jb2RlIgIgA
    hoGbGVuZ3RoIgIgSho
    EbGluayIDIKAdGglsaW
    5rX3R5cGUaCmxpbmtf
    dH
    27

    View Slide

  28. 技術検討 - 地図描画編 -
    Vector Tiles
    ● ブラウザに表示されるデータのみ配信
    ● Javascriptの地図ライブラリ等を用いて地図上に可視化
    ○ Leaflet, OpenLayers etc...
    ● イベント登録可能
    ○ SVBやCanvasの要素として地物を扱う事ができる
    ◎ インタラクティブ性
    ◎ 大容量データ描画
    28

    View Slide

  29. 地図配信形式にVector Tilesを採用
    技術検討 - 地図描画編 -
    インタラクティブ性 大容量データ描画
    QGIS × △
    Raster Tiles × ○
    GeoJSON ○ ×
    Vector Tiles ○ ○
    29

    View Slide

  30. 技術検討 - 地図描画編 -
    Amazon RDS for PostgreSQL
    ● 描画用データの格納
    ● PostgreSQL上で空間演算できるPostGISを利用
    ● 将来的にAWS Aurora for PostgreSQLに移行したい
    ○ ダウンタイム無しで拡張可能
    ○ 処理性能向上
    ○ 東京リージョンでは未公開
    30

    View Slide

  31. System Architecture
    システム化検討
    Client
    Map Server
    Vector Tiles
    Map DB Server
    Data Server
    31

    View Slide

  32. 技術検討
    - 高速集計編 -
    32

    View Slide

  33. 技術検討 - 高速集計編 -
    前提
    ● Javaで書かれた処理とSQLで書かれた処理が存在する
    ○ それぞれが動く分散処理環境が必要
    ● リクエストを常に待ち受ける必要有り
    要求
    ● リードタイム低
    ● 運用費安
    33

    View Slide

  34. 技術検討 - 高速集計編 -
    Java分散処理フレームワーク
    34

    View Slide

  35. 技術検討 - 高速集計編 -
    Hadoop
    ● 言わずと知れた分散処理FW
    ● 社内実績多数
    × ジョブ毎にI/Oオーバーヘッド
     が発生
     リードタイムが要求に満たない
    35

    View Slide

  36. 技術検討 - 高速集計編 -
    Spark
    ● Hadoopに次ぐ分散処理FWの雄
    ● インメモリ処理のためI/Oオーバーヘッド低減
    ◎リードタイム低
    △常時インスタンスを起動する 必
    要有り
    36

    View Slide

  37. ● Java分散処理にSparkを採用
    技術検討 - 高速集計編 -
    リードタイム 運用費
    Java
    Hadoop △ △
    Spark ○ △
    37

    View Slide

  38. 技術検討 - 高速集計編 -
    SQL分散処理フレームワーク
    38

    View Slide

  39. 技術検討 - 高速集計編 -
    Hive
    ● hadoopクラスタ上で動作
    ● HiveQLと呼ばれるSQLライクな言語を使用
    ● 社内実績多数
    × hadoop同様、
     リードタイムが要求に満たない
    39

    View Slide

  40. 技術検討 - 高速集計編 -
    Presto
    ● Facebook社が開発した高速分散DB
    ● ANSI SQL 標準をサポート
    ● HDFSやAmazon s3上のデータを処理可能
    ○ Hiveと同一データソースを利用できる
    ◎ リードタイム低
    △ インスタンスを常時起動する
      必要が有るため、運用費高
    40

    View Slide

  41. 技術検討 - 高速集計編 -
    Amazon Athena
    ● Amazon AWS上で利用できる高速分散DB
    ○ 実行エンジンにPrestoが採用されている
    ● Amazon s3上のデータを処理可能
    ● クエリ課金
    ○ インスタンスを常時起動する必要が無い
    ◎ リードタイム低
    ◎ 運用費低
    41

    View Slide

  42. ● SQL分散処理にAmazon Athenaを採用
    技術検討 - 高速集計編 -
    リードタイム 運用費
    Java
    Hadoop △ △
    Spark ○ △
    SQL
    Hive △ △
    Presto ○ △
    Amazon Athena ○ ○
    42

    View Slide

  43. システム化検討
    System Architecture
    Client
    Map Server
    Vector Tiles
    Data Server
    Map DB Server Data Store
    43

    View Slide

  44. 道路プロファイラー
    44

    View Slide

  45. 道路プロファイラー
    45

    View Slide

  46. 道路プロファイラー
    利用データ
    46

    View Slide

  47. 論文発表
    道路プロファイラー
    [ 発表先 ]第55回土木計画学研究発表会
    論文:
    http://consulting.navitime.biz/pdf/monograph_
    20170610_1.pdf
    発表資料:
    http://consulting.navitime.biz/pdf/presentation
    _20170610_1.pdf 47

    View Slide

  48. 道路プロファイラー
    ケーススタディ
    48

    View Slide

  49. ご清聴ありがとうございました。
    49

    View Slide