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
210
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
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
22
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
430
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
160
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.5k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.4k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
270
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.3k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.3k
Other Decks in Technology
See All in Technology
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
65k
速くて安いWebサイトを作る
nishiharatsubasa
14
15k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
200
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
820
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
350
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.7k
AIエージェント元年
shukob
0
120
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
260
デスクトップだけじゃないUbuntu
mtyshibata
0
550
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
230
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.6k
わたしのOSS活動
kazupon
2
300
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
What's in a price? How to price your products and services
michaelherold
244
12k
Typedesign – Prime Four
hannesfritz
40
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
BBQ
matthewcrist
87
9.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
980
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
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 ご清聴ありがとうございました