Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
Search
NAVITIME JAPAN
PRO
July 27, 2020
Technology
0
250
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
2020/07/27開催されたTech-on MeetUp Online#02「もしエンタープライズのエンジニアがデータ分析をやることになったら」にて発表した資料です。
NAVITIME JAPAN
PRO
July 27, 2020
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
780
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
240
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.6k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
370
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.6k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.7k
Other Decks in Technology
See All in Technology
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.4k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
210
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
110
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
4
880
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
170
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
0
130
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
510
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
230
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
180
アイテムレビュー機能導入からの学びと改善
zozotech
PRO
0
150
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
450
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
RailsConf 2023
tenderlove
30
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Visualization
eitanlees
149
16k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Why Our Code Smells
bkeepers
PRO
340
57k
Writing Fast Ruby
sferik
629
62k
Transcript
©NAVITIME JAPAN ナビタイムジャパンに集まる 移動ビッグデータの分析基盤 2020/7/27 株式会社ナビタイムジャパン 新立 和広
©NAVITIME JAPAN 自己紹介 新立 和広(しんたて かずひろ) 株式会社ナビタイムジャパン • 2009年入社 •
2014年~2017年までログデータ分析業務に従事 • 現在はデータ分析基盤の設計・構築に従事
©NAVITIME JAPAN 発表内容 • 会社紹介 • ログデータの活用事例 • データ分析基盤の構成 •
ログデータの収集 • 分析用データへの加工 • 分析系サービスの活用
©NAVITIME JAPAN 会社紹介
©NAVITIME JAPAN 会社概要 事業内容 ナビゲーションサイト・アプリの運営・開発 経路探索エンジンのライセンス事業 法人向け経路付地図配信ASP事業 ビジネスナビタイム事業 法人向けソリューション事業 メディア事業
テレマティクス事業 交通コンサルティング事業 海外事業 インバウンド事業 トラベル事業 MaaS事業 会社名 株式会社ナビタイムジャパン 設立 2000年3月 社員数 約500名(2019年3月現在) 5 ナビタイムジャパンの南青山オフィス
©NAVITIME JAPAN あらゆる移動手段、移動のシーンへの対応を目指しています ナビタイムジャパンのコンシューマサービス一覧 有料課金ユーザー数 約480万人 月間ユニークユーザー数 約5,100万人 ※2018年12月末時点 ※2018年12月末時点
6
©NAVITIME JAPAN サービスから集まるログデータ コンシューマサービス NAVITIME 乗換NAVITIME バスNAVITIME カーナビタイム トラックカーナビ 自転車NAVITIME
ツーリングサポーター ➢ 施策の検討 ➢ サービスへの活用 ➢ データ活用ビジネス 移動実績 検索履歴 口コミ情報 匿名化 抽出 分析
©NAVITIME JAPAN ログデータの活用事例
©NAVITIME JAPAN サービスへの活用 NT-FILTER 渋滞予測 ユーザーが走行した道路を地図に反映 道路・時間帯別の混雑度を予測
©NAVITIME JAPAN サービスへの活用 運転傾向に合わせた「推奨ルート」 Travel レコメンド 類似のユーザの検索履歴を参考に お勧めの観光地を提案 過去の走行データを分析し 運転傾向に合わせた
推奨ルートを提案
©NAVITIME JAPAN サービスへの活用 1列車・1停車駅ごとの混雑度を予測 電車・駅混雑予測 混雑エリアマップ 現在の混雑状況を9段階で地図上に表示
©NAVITIME JAPAN データ活用ビジネス:交通コンサルティング事業 信号制御分析システム用 民間プローブデータ提供 混雑予報をテレビ提供 2015年度『データなび』他 2016年度『ニュースチェック11』他 平成26年度 訪日外国人動向調査事業
ゴールデンルートにおける移動の分析 および各都市間での移動を分析
©NAVITIME JAPAN データ活用ビジネス:交通コンサルティング事業 ウェブ上で簡単に道路交通に関する各種分析ができるWeb分析システム リンク旅行速度 断面交通流 プロファイリング 道路分析システム『道路プロファイラー』 区間所要時間
©NAVITIME JAPAN 新型コロナウィルスの影響分析 http://consulting.navitime.biz/example/2020/07/03/post_6.html 緊急事態宣言による交通量および目的地検索の変化を分析
©NAVITIME JAPAN データ分析基盤の構成
©NAVITIME JAPAN データ分析基盤の全体像 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション
©NAVITIME JAPAN データ分析基盤の全体像 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 収集 加工 分析
©NAVITIME JAPAN ログデータの収集
©NAVITIME JAPAN ログデータの収集 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 収集
©NAVITIME JAPAN 分析目的で収集・保管しているデータ • サーバーのログ • アクセスログ • 一部のレスポンスデータ(経路情報) など
• ユーザーの行動・操作ログ • 位置情報 • アプリケーション上でのユーザ操作 など • データベースからの定期抽出 • ユーザデータ • マスターデータ • 地図データ • 施設・住所データ など
©NAVITIME JAPAN サーバーログの収集 fluentd – Kinesis Data Streamsによる収集 • 耐障害性やスループット向上
• 用途別の後続処理 AWS GCP データセンター データ分析環境 Kinesis Data Streams Lambda Kinesis Client データレイク リアルタイム分析 一定間隔で保存 ・生のテキストデータ ・適切なサイズ(数MB~100MB)に集約 ・gzip圧縮
©NAVITIME JAPAN 行動・操作ログの収集 Amazon Cognitoで認証し、 Web/モバイルアプリからKinesisに直接送信 Cognito Kinesis Data Streams
Kinesis Data Firehose データレイク 一定間隔で保存 認証 送信 効果測定や流入・流出の分析にはFirebase Analyticsを利用する事も多い • 解析ソリューションであり、構築コストが低い • 別のデータとの紐づけができず、深掘りした分析が困難なのが課題 ・生のテキストデータ ・適切なサイズ(数MB~100MB)に集約 ・gzip圧縮
©NAVITIME JAPAN 分析用データへの加工
©NAVITIME JAPAN 分析用データへの加工 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 加工
©NAVITIME JAPAN 加工する目的 • パフォーマンス最適化 • 10MB~100MBにファイル集約 • Parquet/ORCなどの列指向フォーマットへの変換 •
データを適切な階層構造に分割(パーティショニング) など • データの整形 • 生データを構造化データへと整形して扱いやすく • ユーザーに紐づく情報の匿名化・除去 など
©NAVITIME JAPAN 加工に用いるAWSサービス • EMR(Elastic MapReduce) • マネージド型のHadoopクラスタ • MapRecudeやSparkのプログラムによる分散処理
• Glue • AWSが提供するETLサービス • データのクロールによるスキーマ(カタログ)の自動認識 • SparkSQLベースの単純なETLコードの自動生成 ナビタイムでは、EMRを利用するケースが多い • バイナリデータのパース • Protocol BuffersやMessage Packなど • データの順序を考慮した変換処理 • 位置情報の異常値除去やマップマッチングなど
©NAVITIME JAPAN 分析系サービスの活用
©NAVITIME JAPAN 分析系サービスの活用 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 分析
©NAVITIME JAPAN 利用している分析系サービス • SQLだけでは不可能な分析 • EMR • SQLによる分析 •
Athena • BI/ダッシュボードツール • Tableau • re:dash • データプラットフォーム • Arm Treasure Data
©NAVITIME JAPAN Amazon Athenaとは • データ分析用途のSQLエンジン • S3上のデータを標準SQLを用いて直接解析できる • Mysql/PostgresなどRDBと比較して高速・大容量
• 従量課金であり多くのケースで安価
©NAVITIME JAPAN ナビタイムでのAthenaの活用方法 • 開発者によるインタラクティブなSQL実行 • たまに失敗してもリカバリが効く集計処理 現在はRedshift等は利用せず、Athenaで分析している • CREATE
TABLE AS/INSERT INTOなど、テーブルの作成・ 更新もAthena上で可能になった • 近日中にUDFもリリースされる・・・はず
©NAVITIME JAPAN Athenaによる準リアルタイム集計 AWS GCP データセンター データ分析環境 Kinesis Data Streams
Kinesis Client S3 1分間隔で 保存 Athena Athena 5分間隔で集計 15分間隔で集計 混雑エリアマップ 駅混雑予報 たまに失敗する事を前提に、本番サービスでも活用中 • 考慮すべき事項 • リトライ処理 • 失敗時は直近の結果を利用
©NAVITIME JAPAN BI/ダッシュボードツール • 導入の背景 • 分析結果を広く共有 • 巨大なエクセル・スプレッドシートからの脱却 •
発散しているデータ・情報の集約 • re:dash • ダッシュボードツール • KPIダッシュボードなど共有用途 • re:dashでは限界の場合にTableauを利用 • Tableau(Server) • BIツール • 高度な分析用途
©NAVITIME JAPAN BI/ダッシュボードツール • re:dashはAthenaと直接接続 • クエリは利用者が記述する為、適切なクエリを発行可能 • Tableauは一次集計結果を格納したDBと接続 •
Tableauが非効率的なクエリを発行する為、Athenaとの直接接続を禁止 • 内部DBへのデータの抽出を徹底できるなら接続できるが・・・ 分析用データ Athena RDS SQL JDBC接続 一次集計結果
©NAVITIME JAPAN Arm Treasure Data • Treasure Dataの特徴 • フルマネージドのデータ分析基盤
• 安定性が高いHiveと高速なPrestoを選択可能 • 入出力の連携先が豊富 • GUIでワークフローを作成可能 ⇒AWSのサービスを組み合わせるよりも、構築・運用の敷居が低い • WEBサイトのデータ分析基盤として活用 • Webページからのイベントログの収集 • 他社データとの連携 • データ分析 • 大量の定期集計業務 など
©NAVITIME JAPAN 現在の課題 • クラウドは歯止めが利かない • 高速化やチューニングを怠ってマシンリソースで解決しがち • 油断するとどんどん増えていくS3サイズ •
終わりなきAthenaの悪質クエリ指導 • パーティションを指定せずに全スキャン • 長期集計の乱発 • データの発散 • Firebase AnalyticsやTreasure Dataなど • これらのソリューションを使う事自体は問題ないので、 有用なデータは最終的にS3に蓄積できるようにしたい
©NAVITIME JAPAN 今後の取り組み • Amazon QuickSightの導入 • 分析がWeb上・マネージドサービス上で完結する • 安価な料金体系
• 機械学習系サービスの活用 • Sage Maker • Amazon Personalize • Amazon Forecast • AWS以外のクラウドベンダーの活用 • 現在はAWS中心になっている • GCP/Azureなど他の選択肢も増やしていきたい
©NAVITIME JAPAN ご清聴ありがとうございました